在我的应用程序中,我可以在后端更改用户权限和角色。
当用户登录并删除用户的角色时,用户仍然可以访问实际上不允许访问的内容,因为他错过了该角色。仅当用户使用logout / login重新验证自己时,更改才会生效。
所以我的问题是,我可以访问登录用户的会话(不是我)吗?我知道我可以访问我自己的会话并销毁它,迫使我再次登录。但我希望得到任何登录用户的会话。这可能吗?我找不到任何相关的资源。
我将PdoSessionStorage与symfony2.1和fosuserbundle一起使用。
答案 0 :(得分:9)
让您的用户类实现Symfony\Component\Security\Core\User\EquatableInterface
。
如果从false
方法返回isEqualTo()
,则会重新验证用户。使用该方法仅比较那些在更改时应强制重新认证的属性 - 在您的情况下为角色。
答案 1 :(得分:-1)
您可以按照与我所做的类似的方法解决此问题: