проверяю авторизирован ли пользователь, чтобы отобразить кнопки в меню if (!Yii::$app->user->isGuest)
мне надо, чтоб авторизированный пользователь еще был определенной роли (поле role_id). и соответственно, он выдавал разные кнопки в меню в зависимости от роли. как это можно реализовать?
nnkrasovok дорогой пользователь, настоятельно рекомендуем еще раз обратить самое пристальное внимание на п. 3.1 регламента работы сервиса (и, в особенности, на его последний абзац). В противном случае, ваши вопросы будут удаляться по причине тег-спама, а систематические нарушения приведут к блокировке учетной записи.
slo_nik, там показан пример с администратором. у меня простые пользователи, только у них категории разные (бизнесмен и консультант). у меня еще стоит модуль yii2-user, боюсь не разберусь с rbac. можно как-то обойтись без этого?
nnkrasovok, а кто Вам мешает отказаться от администратора? Тем более, что у Вас всего две роли, зачем лепить в этом случае целый сторонний пакет.
Посидите, внимательно прочтите и всё получится.
Там вариант как раз на две-три роли максимум...
Но можно и так: if( Yii::$app->user->identity->role_id == 2 )
P.S.: Иногда вариант "обойтись без RBAC", кажется разумным и простым. Но на практике, лучше 1 раз разобраться и иметь кучу удобных методов в своем арсенале, а не велосипедить. Проверено временем.
Видео про RBAC в yii: https://www.youtube.com/channel/UC3jTSXXgSvQI2WJ5f...
Там все сложно и запутано, только на первый взгляд. Но чуть "копни" - и все логично и просто.
Я дополню - если даже используется своя собственная ролевая модель, то желательно набор прав-то реализовать или хотя бы обернуть все это красиво в функции, а не делать сравнение с id.