@v0lume

Yii2 RBAC как исключить некоторые права дочерней роли?

Приветствую!

Есть две роли, user и guest.
У guest есть доступ к странице авторизации, назовем этот итем "login".
Guest является дочерней ролью User, т.е. всё что может гость, может и пользователь.

Теперь вопрос - как исключить доступ у пользователя к странице авторизации?
Интересует именно true-way.

Вижу варианты - проверка роли в bizrule/проверка роли в самом экшене. Может я что то упустил и есть другие варианты?
  • Вопрос задан
  • 453 просмотра
Пригласить эксперта
Ответы на вопрос 3
kawabanga
@kawabanga
зачем вам роль в данном случае?

проверяйте по Yii::$app->user->isGuest Возвращает, является ли пользователь авторизированным.
Ответ написан
bitver
@bitver
Никак, если вы начали делать white list, то и продолжайте его, т.е. в Вашем случае придется исключить наследование. Иначе смесь black list и white list будет очень страшной и в реализации и в понимании.
Ответ написан
@dimabdc
Можно только через костыль.
У Вас ошибка в наследовании прав, наследование должно быть в порядке возрастания базовых полномочий, т.е. guest->user->moderator->admin.
Ответ написан
Ваш ответ на вопрос

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

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