Документация для разработчиков
Темная тема

OnAfterUserLoginByHash

Описание и параметры

функция-обработчик(
	array &arParams
);
Событие "OnAfterUserLoginByHash" вызывается в методе CUser::LoginByHash() после проверки имени входа arParams['LOGIN'] и хеша от пароля arParams['HASH'] и попытки авторизовать пользователя. В параметре arParams['USER_ID'] будет передан код пользователя которого удалось авторизовать, а также массив с сообщением об ошибке arParams['RESULT_MESSAGE'].

Параметры

ПараметрОписание
arParams Массив полей проверки имени входа и пароля:
  • USER_ID - в случае, если авторизация прошла успешно, содержит код пользователя
  • RESULT_MESSAGE - массив с информационным текстом, описывающий результат проверки пользователя, в дальнейшем используется функцией ShowMessage для вывода сообщения.
  • LOGIN - Логин пользователя
  • HASH - Пароль. Специальный хеш от пароля пользователя. Данный хеш как правило хранится в куках пользователя.

Некоторые параметры данного обработчика являются ссылками на исходные переменные. Поэтому если вы измените значение параметра внутри обработчика, это приведет к смене значения исходной переменной поступившей на вход функции-обработчика.
Это позволяет, например, изменить RESULT_MESSAGE, что приведет к смене сообщения возвращаемого функцией CUser::LoginByHash.

Пример функции-обработчика

// файл /bitrix/php_interface/init.php
// регистрируем обработчик
AddEventHandler("main", "OnAfterUserLoginByHash", Array("MyClass", "OnAfterUserLoginByHashHandler"));
class MyClass { // создаем обработчик события "OnAfterUserLoginByHash" public static function OnAfterUserLoginByHashHandler(&$arParams) { if($arParams['USER_ID']<=0) { //переопределим сообщение об ошибке. $arParams['RESULT_MESSAGE'] = Array("MESSAGE" => "New error.", "TYPE" => "ERROR"); } } } ?>


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх