使用 ZfcRbac
时我无法理解一个概念.
1.我用我自己的User
实现ZfcRbac\Identity\IdentityInterface
的实体
2.该界面有addRole
和getRoles
方法和getRoles()
应该返回 Rbac\Role\RoleInterface
的数组所以我有一个数组 Rbac\Role\RoleInterface
3. 我从自定义模型中获取角色并将角色添加到 User
实体通过 addRole()
验证用户身份时
4. Rbac\Role\RoleInterface
有hasPermission()
返回角色权限的方法
摘要:
身份验证后,我得到了经过身份验证的 User
每个角色的身份信息、角色和权限。为什么我需要另一个 RoleProvider
并列出我在其中的所有角色?我错过了什么?
最佳答案
如您所见in the php doc in the IdentityInterface
getRoles()
方法可以返回两个内容:
1.字符串数组
2.Rbac\Role\RoleInterface
如果您返回字符串数组,则需要额外的 RoleProvider
将字符串“转换”为 Rbac\Role\RoleInterface
的实际实例。如果您返回一个 Rbac\Role\RoleInterface
数组,在我看来,您不再需要 RoleProvider
。
关于zend-framework2 - ZfcRbac 角色提供者和身份 getRoles(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28959221/