Я хочу сделать иерархию 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"?