作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
每当我编辑用户的角色时,用户都需要注销并重新登录以查看更改。提升用户时没有问题,因为他们在再次登录之前不会看到额外的权限。但是,当降级发生时,用户仍将保留其现有角色,这会带来安全风险。想象一下,撤销一个流氓员工的管理员用户,并且在他们注销之前仍然可以做任何事情(例如破坏系统)!
是否可以使与特定用户相关的所有 session 或 token 无效?如果有另一种方法可以在不注销用户的情况下动态更新用户的角色,我很乐意听到!
为了清楚起见,我并不是要使当前登录的用户的 session / token 无效。
提前致谢!
最佳答案
Symfony 将序列化的 token 对象存储在 _security_match_firewall_name
下 session 中的键。您可以反序列化它,过滤角色,然后再次保存。要读取/保存 session 值,您可以使用 PdoSessionStorage
.您可能需要创建一个额外的表来跟踪用户 session 。
关于symfony - FOSUserBundle/Symfony2 : Force logout of a user given a user (not the currently logged in user),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9630032/
我是一名优秀的程序员,十分优秀!