我在使用BjyAuthorize时遇到了一个小问题:我可以检索所有用户的角色,但我只想要最高的角色。
例如,如果用户是admin,我可以检索他的所有角色(guest、user和admin),但只想显示admin。
有人找到解决这个问题的办法了吗?
发布于 2013-06-04 19:09:05
你必须定义你对最高的意思。在权限继承的情况下,没有父级的权限最少。但只有当它们相关时,这才有效。因此,如果它们是相关的,如admin -> user -> guest,其中箭头可以读作“继承权限自”,则很可能(不考虑拒绝规则) admin拥有最多的权限,因为没有为用户分配从admin继承的另一个角色。
当f.e.admin继承了user的权限,而guest与user或admin完全无关,那么它就会变得更加复杂。
admin -> userguest要确定哪一个拥有更多权限(角色的命名很明显,但不是对您的应用程序的命名),您必须比较guest和admin的权限。
这并不容易做到,我怀疑这是你想要的,因为父母可能会有更多的权限。F.e.当拒绝规则已应用于继承者时。
发布于 2014-06-10 16:54:45
我意识到这是旧的,但如果它对任何人都有用:如果你有一个用户角色和一个从用户继承权限的管理员角色,你不必给管理员两个角色,只给管理员角色。他们还将自动从用户组获得权限;这就是继承的目的。
https://stackoverflow.com/questions/16893647
复制相似问题