@Tarrissarh

Почему в OnBeforeProlog не работает проверка на авторизацию пользователя?

Есть свой компонент авторизации, авторизация происходит через ajax и $USER->Login.
В компоненте сама авторизация проходит без проблем.
Но также есть обработчик для события OnBeforeProlog и в нем идет проверка пользователя на авторизацию, которая постоянно провальная...
Путь авторизации получается такой:
1. Отправка ajax запроса
2. Обработка OnBeforeProlog ($USER->IsAuthorized() -> false)
3. Обработка ajax в компонент ($USER->IsAuthorized() -> true)
4. Возврат правильных данных и на js reload страницы
5. Обработка OnBeforeProlog ($USER->IsAuthorized() -> false)
В чем может быть проблем?
Такое ощущение, что при начале OnBeforeProlog происходит разлогирование, но это ведь бред, такого функицонала нет.
Самое прикольное, что подобная проблема существует только для новых пользователей, те пользователи, которые были до этого созданы, авторизуются без проблем...
global $USER указан, модуль пользователя подключен.
  • Вопрос задан
  • 374 просмотра
Пригласить эксперта
Ответы на вопрос 1
Дважды прочитал и не понял...
Вот пункт 5 - это вообще обработка какого запроса? Следующего?

Я правильно понял, что в пункте 3 вы залогинили пользователя и проверили что она залогинен?
А в пункте 4 выбросили выхлоп и не стали вызывать footer?

Поробуйте после отдачи выхлопа добавить:
require($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/epilog_after.php');


P.S. Вариант выше не решение.
Ответ написан
Ваш ответ на вопрос

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

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