Machez
@Machez
Бу!

Как в Yii2 настроить вывод формы аутентификации без редиректа на /site/login?

По-умолчанию Yii2 Advanced редиректит не авторизованного пользователя на страницу /site/login. Как это можно изменить? Нужно что бы при обращении к странице редиректа не происходило, а отдавался HTTP STATUS: 401 и форма аутентификации появлялась прямо на запрошенной странице вместо контента.
  • Вопрос задан
  • 775 просмотров
Решения вопроса 1
AccessDenied80
@AccessDenied80
Web разработка
'loginUrl' => ['/?login=true']

в layout/main.php

if (\Yii::$app->request->get('login', false)) {
Yii::$app->response->statusCode = 401;
$script = <<< JS
$('#login').trigger('click'); //вызываем окно с формой логина
JS;
}

как-то так...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
arutyunov
@arutyunov
Mooza.ru — Делаем сайты
В компонентах настройте user. loginUrl отвечает за адрес, куда редирект будет осуществляться.
Можете также другие опции посмотреть в компоненте yii\web\User.

'user' => [
    ...
    'loginUrl' => ['/account/login']
],
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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