【发布时间】:2014-11-16 15:13:20
【问题描述】:
我正在使用带有 FOSUserBundle 的 Symfony 2.4。
管理员用户可以将他的安全令牌切换为任何其他用户的安全令牌,因此他可以登录系统中的任何帐户。我用以下代码做到了:
$newToken = new MyOwnToken($adminId, $user, null, 'main', $user->getRoles());
$this->get('security.context')->setToken($newToken);
MyOwnToken 扩展了常规的 UsernamePasswordToken,包含额外的 adminId 字段(用于参考原始管理员帐户)。
当管理员注销普通用户帐户时,安全令牌未设置,他被重定向到登录页面。我想稍微改变一下:我希望管理员重新登录他的管理帐户,而不是注销。
我的问题是:如果满足某些条件(例如当前令牌是 MyOwnToken 的实例),我需要什么来防止注销,并将令牌切换到另一个?
【问题讨论】:
标签: security symfony authentication