VicTHOR
@VicTHOR
(╮°-°)╮┳━━┳ ( ╯°□°)╯ ┻━━┻

Почему не работает AccessRule?

Прописал в behaviors у SiteController вот такой фильтр
'access' => [
            'class' => AccessControl::class,
            'rules' => [
                [
                    'allow' => true,
                    'roles' => ['@'],
                ],
                [
                    'actions' => ['login'],
                    'allow' => true,
                    'roles' => ['?'],
                ],
            ],
            'denyCallback' => function($rule, $action) {
                return Yii::$app->response->redirect(['site/login']);
            },
        ],

Сейчас нужно задать такой фильтр всем контроллерам. Прописал в конфиге
'bootstrap' => ['log', 'access'],
'components' => [
        'access' => [
            'class' => AccessControl::class,
            'rules' => [
                [
                    'allow' => true,
                    'roles' => ['@'],
                ],
                [
                    'controllers' => [SiteController::class],
                    'actions' => ['login'],
                    'allow' => true,
                    'roles' => ['?'],
                ],
            ],
            'denyCallback' => function($rule, $action) {
                return Yii::$app->response->redirect(['site/login']);
            },
        ],
и правило совсем перестало работать, почему?

UPD:
указал 'controllers' => ['site'], не помогло.
  • Вопрос задан
  • 16 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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