Zend framework2 ZF2 BjyAuthorize获取用户最高角色

Zend framework2 ZF2 BjyAuthorize获取用户最高角色,zend-framework2,bjyauthorize,Zend Framework2,Bjyauthorize,我对BjyAuthorize有一个小问题:我可以检索所有用户的角色,但我只想要最高的角色 例如,如果用户是admin,我可以检索他的所有角色(guest、user和admin),但只想显示admin 有人找到了解决办法吗?你必须用最高的标准来定义你的意思。在权限继承的情况下,没有父级的一个拥有最少的权限。但这只有在它们相互关联时才起作用。因此,如果它们是相关的,比如admin->user->guest,箭头可以读作“从继承权限”,那么很有可能(拒绝规则不被考虑)该admin拥有最多权限,因为该用

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

例如,如果用户是admin,我可以检索他的所有角色(guest、user和admin),但只想显示admin


有人找到了解决办法吗?

你必须用最高的标准来定义你的意思。在权限继承的情况下,没有父级的一个拥有最少的权限。但这只有在它们相互关联时才起作用。因此,如果它们是相关的,比如
admin
->
user
->
guest
,箭头可以读作“从继承权限”,那么很有可能(拒绝规则不被考虑)该
admin
拥有最多权限,因为该用户尚未被分配从
admin
继承的另一个角色

如果f.e.
admin
用户
继承权限,并且
来宾
用户
管理员
完全不相关,那么它将变得更加复杂

  • 管理员
    ->
    用户

  • guest

要确定哪一个具有更多权限(角色的命名是显而易见的,但对您的应用程序来说不是),您必须比较
guest
的权限与
admin
的权限


这不容易做到,我怀疑这是你想要的,因为父母有可能拥有更多的权限。F.e.当拒绝规则应用于继承人时。

您必须定义您对最高继承人的意思。在权限继承的情况下,没有父级的一个拥有最少的权限。但这只有在它们相互关联时才起作用。因此,如果它们是相关的,比如
admin
->
user
->
guest
,箭头可以读作“从继承权限”,那么很有可能(拒绝规则不被考虑)该
admin
拥有最多权限,因为该用户尚未被分配从
admin
继承的另一个角色

如果f.e.
admin
用户
继承权限,并且
来宾
用户
管理员
完全不相关,那么它将变得更加复杂

  • 管理员
    ->
    用户

  • guest

要确定哪一个具有更多权限(角色的命名是显而易见的,但对您的应用程序来说不是),您必须比较
guest
的权限与
admin
的权限


这不容易做到,我怀疑这是你想要的,因为父母有可能拥有更多的权限。F.e.当拒绝规则已应用于继承人时。

我意识到这是旧的,但如果它对任何人都有用:
如果您有一个用户角色和一个从用户继承权限的管理员角色,则不必将这两个角色都赋予管理员,只需赋予管理员角色即可。他们也将自动从用户组获得权限;这就是继承的目的。

我意识到这很古老,但如果它对任何人都有用的话:
如果您有一个用户角色和一个从用户继承权限的管理员角色,则不必将这两个角色都赋予管理员,只需赋予管理员角色即可。他们也将自动从用户组获得权限;这就是继承的目的。

我知道我可以创建一个方法来查找没有父角色的角色,因为我正在使用继承。这会管用的,但正如你所说的,它太复杂了。如果我只为每个用户设置一个角色,BjyAuthorize还会工作吗?显然是最高的。我知道我可以创建一个方法来查找没有父角色的角色,因为我正在使用继承。这会管用的,但正如你所说的,它太复杂了。如果我只为每个用户设置一个角色,BjyAuthorize还会工作吗?显然是最高的。