@nnkrasovok

Как проверить авторизированного пользователя?

проверяю авторизирован ли пользователь, чтобы отобразить кнопки в меню
if (!Yii::$app->user->isGuest)

мне надо, чтоб авторизированный пользователь еще был определенной роли (поле role_id). и соответственно, он выдавал разные кнопки в меню в зависимости от роли. как это можно реализовать?
  • Вопрос задан
  • 92 просмотра
Решения вопроса 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
лучше конечно юзать rbac и тогда просто штатными методами все
if( Yii::$app->user->can('someRoleName') )
подробнее тут: https://www.yiiframework.com/doc/guide/2.0/en/secu...

Но можно и так:
if( Yii::$app->user->identity->role_id == 2 )

P.S.: Иногда вариант "обойтись без RBAC", кажется разумным и простым. Но на практике, лучше 1 раз разобраться и иметь кучу удобных методов в своем арсенале, а не велосипедить. Проверено временем.
Видео про RBAC в yii: https://www.youtube.com/channel/UC3jTSXXgSvQI2WJ5f...
Там все сложно и запутано, только на первый взгляд. Но чуть "копни" - и все логично и просто.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы