我正在使用FOSUserBundle并设置用户/组环境。
我可以为群组和用户提供角色。
基本上我将角色赋予集团。 现在,我想撤消组中的某些用户从组中继承的角色。
每当我在UserAdminView(SonataUserBundle)中取消选择它时,它会再次重新检查(当然,因为它是从组中获取的)
任何想法如何实现?
我想到了Usertable中的一个额外字段,其中列出了应该撤销的所有角色。
是否有更轻松的机会?
答案 0 :(得分:1)
据我所知,您要求的内容超出了FOSUserBundle的范围。无论如何,当用户登录时,它将加载分配给特定用户的所有角色,以及用户被分配到的组中的所有角色。
您可以尝试在User实体下创建一个名为'denied_roles'的自定义字段或具有该性质的自定义字段。然后创建一个自定义登录侦听器(侦听'security.interactive_login'),删除'denied_roles'。