Как использовать поставщиков ролей 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']
]
]
]
]
];
Здесь вы можете прочитать о поставщиках ролей
В ZF-Rbac одна личность может иметь разные роли с разными разрешениями / привилегиями. Чтобы собрать роли для службы авторизации, вам нужны поставщики ролей. Они будут включать RoleProvicerInterface
(ссылка на сайт) с getRoles
метод, который должен возвращать роли, с которыми должен работать сервис авторизации.
Каждая личность имеет IdentityInterface
(ссылка на сайт) который также имеет getRoles
метод. Это вернет массив roleNames
который будет сопоставлен с ролями из RolesProvider
узнать о разрешениях / привилегиях.
Затем вы можете узнать, что может делать текущий пользователь (личность).
Других решений пока нет …