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

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