撤消继承组的用户角色

时间:2013-01-10 19:49:05

标签: symfony inheritance user-roles

我正在使用FOSUserBundle并设置用户/组环境。

我可以为群组和用户提供角色。

基本上我将角色赋予集团。 现在,我想撤消组中的某些用户从组中继承的角色。

每当我在UserAdminView(SonataUserBundle)中取消选择它时,它会再次重新检查(当然,因为它是从组中获取的)

任何想法如何实现?

我想到了Usertable中的一个额外字段,其中列出了应该撤销的所有角色。

是否有更轻松的机会?

1 个答案:

答案 0 :(得分:1)

据我所知,您要求的内容超出了FOSUserBundle的范围。无论如何,当用户登录时,它将加载分配给特定用户的所有角色,以及用户被分配到的组中的所有角色。

您可以尝试在User实体下创建一个名为'denied_roles'的自定义字段或具有该性质的自定义字段。然后创建一个自定义登录侦听器(侦听'security.interactive_login'),删除'denied_roles'。