我正在使用Symfony 5并尝试手动验证用户身份。为此,我有以下代码:
$token = new UsernamePasswordToken($user, null, "main", $user->getRoles());
$this->get("security.token_storage")->setToken($token);
$session->set("_security_main", serialize($token));
$loginEvent = new InteractiveLoginEvent($request, $token);
$eventDispatcher->dispatch($loginEvent);
提交我的表单时,我的用户已通过身份验证。
但是当我刷新页面或在网站上导航时,我遇到了一个异常(注意:未定义索引:0):
我的用户不再连接。
My auth token with the exception
当我再次刷新页面时,我将以匿名用户身份登录。
你能帮我吗? 如果需要,我可以共享更多代码。
答案 0 :(得分:1)
我发现了我的错误。
我从用户中删除了属性$ id。
这就是为什么Doctrine无法在数据库中检索用户。