我对BjyAuthorize有一个小问题:我可以检索所有用户的角色,但我只想要最高的角色。
例如,如果用户是管理员,我可以检索他的所有角色(访客,用户和管理员),但只想显示管理员。
有没有人为此找到解决方案?
答案 0 :(得分:1)
你必须用最高的定义你的意思。在权限继承的情况下,没有父权的那个具有最小权限。但这只有在相关时才有效。因此,如果他们是相关的,如admin
- > user
- > guest
其中可以读取箭头,例如“继承权限”,那么admin
拥有最多权限的很可能(拒绝不考虑规则),因为用户尚未被分配另一个角色继承自admin
。
当f.e. admin
继承了user
的权限,而guest
根本与user
或admin
无关,那么它将变得更加复杂。
admin
- > user
guest
要确定哪个拥有更多权限(角色的命名很明显,而不是您的应用程序),您必须将guest
的权限与admin
的权限进行比较。
要做起来并不容易,我怀疑这是你想要的,因为父母可能拥有更多权限。 F.E.当deny规则应用于继承者时。
答案 1 :(得分:0)
我意识到这是旧的,但万一它对任何人都有用: 如果您具有用户角色以及继承用户权限的管理员角色,则不必为管理员提供角色,也不必授予管理员角色。他们也会自动获取用户组的权限;这就是继承的目的。