使用 Symfony2 我想security.content
在登录后使用登录后获得的信息来扩充用户。
因此,在登录成功代码中,我执行以下操作AccountController
:
$user = $this->get('security.context')->getToken()->getUser();
// Get everything we'll ever need for this user
$user->fillDetails($this, $this->container);
$token = new UsernamePasswordToken($user, null, 'main', $user->getRoles());
// Give it to the security context
$this->container->get('security.context')->setToken($token);
return $this->redirect($this->generateUrl('AccountBundle_homepage'));
如果我在调用此信息后立即再次检索用户setToken()
,则在 User 对象中设置的信息fillDetails()
仍然存在。
AccountBundle_homepage
但是在我让用户使用时的控制器操作中
$user = $this->get('security.context')->getToken()->getUser();
我设置的额外信息fillDetails()
不再存在,或者0
。
任何帮助表示赞赏。