villiwalla
@villiwalla
HTML-верстка

"Глобальная" аутентификация в yii2?

Как можно сделать "глобальную" аутентификацию пользователя, т.е без разницы на какую страницу пользователь попадет, то должно перекидывать на страницу с формой входа.
Писать в каждом контроллере beforeAction() { Yii:$app->user->isGuest -> redirect }, не совсем впечатляет.
Создать контроллер AccessController в котором будет beforeAction(), наследовать его от yii\web\Controller, а все остальные контроллеры наследовать от AccessController, как решение да, но что ради одного события вклинивать контроллер? Ещё придётся следить в каждом контроллере наличие parent::beforeAction
  • Вопрос задан
  • 202 просмотра
Пригласить эксперта
Ответы на вопрос 2
proudmore
@proudmore
У вас для этого есть Access Control Filter. Объявляете его в behaviors() контроллера и будет вам счастье.
Ответ написан
Maksclub
@Maksclub
maksfedorov.ru
Не хватает функционала Middleware :)
Базовые контроллеры делать под каждый раздел приложения — такое себе :)

Вот обсуждение по Middleware в Yii2
https://github.com/yiisoft/yii2/issues/15438

* А можно Ларавел взять, там из коробки это все есть (...ехидный смех...)
Ответ написан
Ваш ответ на вопрос

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

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