【发布时间】:2014-06-10 16:54:44
【问题描述】:
我在使用 BjyAuthorize 时遇到了一点问题:我可以检索所有用户的角色,但我只想要最高的角色。
例如,如果用户是管理员,我可以检索他的所有角色(访客、用户和管理员),但只想显示管理员。
有人找到解决办法了吗?
【问题讨论】:
标签: zend-framework2 bjyauthorize
我在使用 BjyAuthorize 时遇到了一点问题:我可以检索所有用户的角色,但我只想要最高的角色。
例如,如果用户是管理员,我可以检索他的所有角色(访客、用户和管理员),但只想显示管理员。
有人找到解决办法了吗?
【问题讨论】:
标签: zend-framework2 bjyauthorize
您必须定义最高的含义。在权限继承的情况下,没有父母的人拥有最少的权限。但这仅在它们相关时才有效。因此,如果它们像 admin -> user -> guest 这样相关,其中箭头可以读作“继承权限”,那么admin 很可能(不考虑拒绝规则)最多权限,因为尚未为用户分配另一个继承自 admin 的角色。
当 f.e. admin继承自user的权限,而guest与user或admin完全没有关系,那就更复杂了。
admin -> user
guest
要确定哪个权限更多(角色的命名很明显,但对您的应用程序却没有),您必须将guest的权限与admin的权限进行比较。
这并不容易,我怀疑这是您想要的,因为父母可能拥有更多权限。 F.e.当拒绝规则应用于继承者时。
【讨论】:
我意识到这是旧的,但如果它对任何人有用: 如果您有一个用户角色和一个从用户那里继承权限的管理员角色,则您不必为管理员提供这两个角色,只需为管理员角色。他们也会自动从用户组获得权限;这就是继承的目的。
【讨论】: