У меня в разных частях кода(в различных частях view, в контроллере, в моделях) есть вот такие проверки на роль пользователя
Yii::$app->getUser()->can("provider")
Т.е мы проверяем, есть ли у пользователя права на просмотр. Это в свою очередь генерирует запрос к бд, что очень плохо. У меня в бд уходит до 8 запрос с разных частей кода на проверку прав пользователя.
prntscr.com/bpdphc . Как грамотно проверять роль пользователя чтобы не дергать её из бд постоянно. У меня на сайте стоит rbac с сохранением ролей в бд. Так же роль пользователя храню в таблице user в поле role(для удобства).