2014-09-22 71 views
1

我正在使用Symfony 2.4和FOSUserBundle。在Symfony2注销时设置新的安全令牌

管理员用户可以将其安全令牌切换为任何其他用户的安全令牌,因此他可以登录系统中的任何帐户。我曾与下面的代码做的:

$newToken = new MyOwnToken($adminId, $user, null, 'main', $user->getRoles()); 
$this->get('security.context')->setToken($newToken); 

MyOwnToken延长定期UsernamePasswordToken,保存附加adminId场(仅供参考,以原管理员帐户)。

当管理员注销常规用户帐户时,安全令牌未设置,并且他被重定向到登录页面。我想稍微改变一下:不要退出,我想让管理员重新登录他的管理帐户。

我的问题是:如果满足一些条件(如当前令牌是MyOwnToken的实例),并且将令牌切换到另一个条件,我需要什么来防止注销?

回答