@Pogran

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

У меня в разных частях кода(в различных частях view, в контроллере, в моделях) есть вот такие проверки на роль пользователя

Yii::$app->getUser()->can("provider")

Т.е мы проверяем, есть ли у пользователя права на просмотр. Это в свою очередь генерирует запрос к бд, что очень плохо. У меня в бд уходит до 8 запрос с разных частей кода на проверку прав пользователя. prntscr.com/bpdphc . Как грамотно проверять роль пользователя чтобы не дергать её из бд постоянно. У меня на сайте стоит rbac с сохранением ролей в бд. Так же роль пользователя храню в таблице user в поле role(для удобства).
  • Вопрос задан
  • 210 просмотров
Решения вопроса 1
qonand
@qonand
Software Engineer
для того что бы не дергать каждый раз данные из базы, можно включить кеширование для rbac
'authManager' => [
    'class' => 'yii\rbac\DbManager',
    'cache' => 'cache',
    'cacheKey' => '9kfs0kl,
],
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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