gpt4 book ai didi

php - 使用 symfony2 和学说得到 "cannot refresh user"错误

转载 作者:可可西里 更新时间:2023-11-01 13:12:26 24 4
gpt4 key购买 nike

我将类 User 作为基类,然后我从用户类扩展了 Teacher。

当我尝试登录时出现此错误

You cannot refresh a user from the EntityUserProvider that does not contain an identifier. The user object has to be serialized with its own identifier mapped by Doctrine.

我在 user.php 中有序列化/反序列化功能,因为我已经从 FOSUserbundle 中解决了这个问题

public function serialize()
{
return serialize(array(
$this->password,
$this->salt,
$this->usernameCanonical,
$this->username,
$this->expired,
$this->locked,
$this->credentialsExpired,
$this->enabled,
));
}

我无法找到可以检查错误的位置。我卡住了。请帮忙

最佳答案

"You cannot refresh a user from the EntityUserProvider that does not contain an identifier. The user object has to be serialized with its own identifier mapped by Doctrine."

这不是问题的答案,但如果有人用谷歌搜索上面的错误消息(就像我一样),这是 HitTest 门的。既然我找到了我的解决方案,我想我会分享。

如果您从数据库中删除当前用户然后尝试重定向该用户,您将收到此错误。 (这似乎是一个愚蠢的错误,但错误消息肯定没有帮助!)解决方案是在重定向之前简单地清除 session 。

$this->get('security.context')->setToken(null);
$this->get('request')->getSession()->invalidate();

关于php - 使用 symfony2 和学说得到 "cannot refresh user"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11571651/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com