Как я могу организовать правильную иерархию rba c для некоторых ролей с правилами в yii2? - PullRequest
0 голосов
/ 30 марта 2020

Я хочу сделать иерархию RBA C разной для некоторых пользовательских ролей.

Rba c Система проверена в обратном порядке и рекурсивна для ролей и разрешений (функция checkAccess в DBManager). Я не понимаю, как я могу создать цепочку ролей / разрешений для конкретной роли пользователя.

У меня есть postController. Роли: админ, автор. Разрешение updatePost.

и два Разрешения busyPostRule, authorPostAccessRule.

Например, для роли администратора мне нужна цепочка в порядке (updatePost - busyPostRule - admin) для автора (updatePost - authorPostAccessRule - busyPostRule - author ). Как обезопасить эти проверки порядка для пользовательских ролей?

Только администратор busyPostRule.

Автор первый authorPostAccessRule, второй busyPostRule

введите описание изображения здесь

В postController AF C:

                [
                    'allow' => true,
                    'actions' => ['update'],
                    'roles' => ['updatePost'],
                ],

Если роль администратора открыла страницу обновления:

цепочка (updatePost - busyAdminRole - admin), но если роль автора:

цепочка (updatePost - busyAdminRole - admin - BACK - authorAccessRole - busyAuthorRole - author).

Как игнорировать проверку "busyAdminRole"?

...