Вывод данных из denyCallback

Всё про контроль доступа пользователей: фильтры, RBAC, проверки
Закрыто
rommcr
Сообщения: 124
Зарегистрирован: 2014.12.24, 16:35

Вывод данных из denyCallback

Сообщение rommcr » 2019.08.30, 18:17

Некоторые разделы сайта доступны только залогиненным пользователям. Вместо того, чтобы из denyCallback сделать redirect, я вывожу форму авторизации, т.е. визуально закрытая страница выглядит как страница для логина. Сделано это для того, чтобы, введя логин и пароль, попасть на ту же страницу, на которую юзера не пустили безо всяких ?redirect=/cabinet

Делаю это так:

Код: Выделить всё

                'denyCallback' => function() {
                    $c = Yii::$app->createController('user/default/login');
                    echo $c[0]->actionLogin(Url::to(''), Yii::t('user', 'You must be logged in'));
                }
Все работает как и ожидалось, но есть одно "но". Ловлю ошибку
An Error occurred while handling another error:
exception 'yii\web\HeadersAlreadySentException' with message 'Headers already sent in
на той строке, где отрабатывает echo.

Как правильно обыграть эту ситуацию?

rommcr
Сообщения: 124
Зарегистрирован: 2014.12.24, 16:35

Re: Вывод данных из denyCallback

Сообщение rommcr » 2019.08.30, 21:38

Скорее всего, теме место в "Общие вопросы". Перенесите пожалуйста.

rommcr
Сообщения: 124
Зарегистрирован: 2014.12.24, 16:35

Re: Вывод данных из denyCallback

Сообщение rommcr » 2019.08.30, 22:15

Разобрался.

Закрыто