fosuserbundle / symfony2:给定用户的用户强制注销(不是当前登录用户)

StackOverflow https://stackoverflow.com//questions/9630032

  •  09-12-2019
  •  | 
  •  

每当我编辑用户角色时,用户需要注销并重新登录以查看更改。在推广用户时,没有问题,因为它们只是不会看到额外的权限,直到再次登录。但是,当要发生降级时,用户仍将保持其现有的作用,这施加了安全风险。想象一下,在流氓员工上撤销管理员用户,仍然可以让它们能够做任何事情(例如。破坏系统),直到他们注销!

是否可以使与特定用户相关的所有会话或令牌无效?如果还有另一种方式动态更新用户的角色而不会记录他们,我很乐意听到它!

只是为了清楚,我不是在尝试使当前登录的用户的会话/令牌无效。

提前感谢!

有帮助吗?

解决方案

Symfony stores serialized token object under _security_match_firewall_name key in session. You can unserialize it, filter role and then save it again. For reading/saving session values you can use PdoSessionStorage. You may have to create an extra table for tracking users session.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top