usdglander
@usdglander
Yipee-ki-yay

Как наследуются роли RBAC в Yii2?

Добрый день.
Случился небольшой затык, который знаю как решить костылями но хочется какой то способ по-кошернее.
Итак, есть несколько ролей и правил в auth_item. Среди них есть РОЛИ User и Client.
Соответственно в auth_item_child есть запись: parent = User, child = Client.
А в auth_assignment есть запись: item_name = Client, user_id = 1, ...
Так вот, при попытке сделать
array_keys( Yii::$app->authManager->getRolesByUser(1) )

возвращается только
Array
(
    [0] => Сlient
)

а хочется чтобы тянулись ВСЕ РОЛИ, которые есть у пользователя. Как это лучше сделать?
  • Вопрос задан
  • 494 просмотра
Решения вопроса 1
iiifx
@iiifx
PHP, OOP, SOLID, Yii2, Composer, PHPStorm
Все верно. У вас роль User включает в себя роль Client. Вы связали роль Client c пользователем ID:1. В этом случае пользователь с ID:1 имеет права на Client и все его дочерние итемы(не родительские), а таких у него нет. Если вы свяжите пользователя с ролью User, лишь тогда он получит права на User и Client.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы