В Controller.php определен метод beforeAction() (YII2), который выкидывает эксепшн, если не проходит csrf валидация. Как изменить это поведение, мне бы хотелось, чтобы я оставался на странице аутентификации, но при этом появлялось всплывающее сообщение о не прошедшей валидации (при этом делать $this->enableCsrfValidation = false я не хочу). В моём контроллере делаю вот так:
public function beforeAction($action) {
if ($this->enableCsrfValidation && Yii::$app->getErrorHandler()->exception === null && !Yii::$app->getRequest()->validateCsrfToken()) {
Yii::$app->session->setFlash('info', 'Wasted');
$this->redirect(['/']);
}
return parent::beforeAction($action);
}
Разумеется, эксепшн продолжает ловиться.