t-alexashka
@t-alexashka
Сразу пишу legacy код

Вычисляемая роль в AccessControl?

Привет друзья!

Есть у меня проверка прав в контроллере:

[
    'allow' => true,
    'actions' => ['callcenter'],
    'roles' => ['admin',  'Operator', 'Dispatcher'],
],


И есть функция проверки особых прав: User::isLeader() (возвращает bool)

Как добавить еще правило в список выше, что если ф-я вернет true - то доступ этому юзеру разрешен в независимости от его роли.
  • Вопрос задан
  • 22 просмотра
Решения вопроса 2
t-alexashka
@t-alexashka Автор вопроса
Сразу пишу legacy код
Решил. Если кому нужно будет:

Надо добавить еще одно правило в таком виде:

[
    'allow' => User::isLeader(), // ф-я возвращающая true если доступ разрешен
    'actions' => ['callcenter'],
],
Ответ написан
Комментировать
@kot999
Backend software engineer
Чуть более изящно.

[
    'actions' => ['callcenter'],
    'allow' => true,
    'matchCallback' => function ($rule, $action) {
        return User::isLeader();
    },
],
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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