如何使用zfc rbac角色提供程序?
我知道防护会阻止用户访问路由,但似乎我也需要角色提供程序。这些数据库权限是?在下面的示例中是' article'控制器和'之后的部分。'该控制器授予的许可?如何在适当的位置测试这些?非常感谢。
return [
'zfc_rbac' => [
'role_provider' => [
'ZfcRbac\Role\InMemoryRoleProvider' => [
'admin' => [
'permissions' => [
'article.delete',
'article.edit',
'article.archive',
'article.read'
]
],
'member' => [
'permissions' => [
'article.edit',
'article.archive',
'article.read'
]
],
'guest' => [
'permissions' => ['article.read']
]
]
]
]
];
答案 0 :(得分:0)
Here you can read about role providers
在ZF-Rbac中,一个身份可以具有不同的角色,具有不同的权限/特权。要收集authorizationService的角色,您需要角色提供程序。它们将包含RoleProvicerInterface
(link) getRoles
方法,该方法应返回授权服务必须使用的角色。
每个标识都有一个IdentityInterface
(link),它还有一个getRoles
方法。这将返回一个roleNames
数组,该数组将映射到RolesProvider
中的角色,以查找有关权限/权限的信息。
然后,您可以找出当前用户(身份)可以执行的操作。