ZF2 BjyAuthorize获得用户最高职位

时间:2013-06-03 09:28:01

标签: zend-framework2 bjyauthorize

我对BjyAuthorize有一个小问题:我可以检索所有用户的角色,但我只想要最高的角色。

例如,如果用户是管理员,我可以检索他的所有角色(访客,用户和管理员),但只想显示管理员。

有没有人为此找到解决方案?

2 个答案:

答案 0 :(得分:1)

你必须用最高的定义你的意思。在权限继承的情况下,没有父权的那个具有最小权限。但这只有在相关时才有效。因此,如果他们是相关的,如admin - > user - > guest其中可以读取箭头,例如“继承权限”,那么admin拥有最多权限的很可能(拒绝不考虑规则),因为用户尚未被分配另一个角色继承自admin

当f.e. admin继承了user的权限,而guest根本与useradmin无关,那么它将变得更加复杂。

  • admin - > user

  • guest

要确定哪个拥有更多权限(角色的命名很明显,而不是您的应用程序),您必须将guest的权限与admin的权限进行比较。

要做起来并不容易,我怀疑这是你想要的,因为父母可能拥有更多权限。 F.E.当deny规则应用于继承者时。

答案 1 :(得分:0)

我意识到这是旧的,但万一它对任何人都有用: 如果您具有用户角色以及继承用户权限的管理员角色,则不必为管理员提供角色,也不必授予管理员角色。他们也会自动获取用户组的权限;这就是继承的目的。