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

OnBeforeUserLoginByHash

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

bool
функция-обработчик(
	array &arParams
)

Событие "OnBeforeUserLoginByHash" вызывается в методе CUser::LoginByHash() до проверки имени входа arParams['LOGIN'], хеша от пароля arParams['HASH'] и попытки авторизовать пользователя.

Параметры

ПараметрОписание
arParams Массив полей для проверки имени входа и пароля:
  • LOGIN - Имя входа пользователя.
  • HASH - Специальный хеш от пароля пользователя. Данный хеш как правило хранится в куках пользователя.

Примечание. Все параметры данного обработчика являются ссылками на исходные переменные. Поэтому если вы измените значение параметра внутри обработчика, это приведет к смене значения исходной переменной поступившей на вход функции-обработчика.

Возвращаемое значение

Для отмены авторизации пользователя и прекращении выполнения метода CUser::LoginByHash необходимо в функции-обработчике создать исключение методом $APPLICATION->ThrowException() и вернуть false.

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

<?
// файл /bitrix/php_interface/init.php
// регистрируем обработчик
AddEventHandler("main", "OnBeforeUserLoginByHash", Array("MyClass", "OnBeforeUserLoginByHashHandler"));
class MyClass { // создаем обработчик события "OnBeforeUserLoginByHash" public static function OnBeforeUserLoginByHashHandler(&$arParams) { // здесь выполняем любые действия связанные if(strtolower($arParams['LOGIN'])=="guest") { global $APPLICATION; $APPLICATION->throwException("Пользователь с именем входа Guest не может авторизоваться по хешу."); return false; } } } ?>


© «Битрикс», 2001-2024, «1С-Битрикс», 2024