OnAfterUserLogin
Описание и параметры
функция-обработчик( array &arParams );
Событие "OnAfterUserLogin" вызывается в методе CUser::Login после попытки авторизовать пользователя, проверив имя входа arParams['LOGIN'] и пароль arParams['PASSWORD'].
Параметры
| Параметр | Описание |
|---|---|
| arParams | Массив полей проверки имени входа и пароля:
|
Примечание
Все параметры данного обработчика являются ссылками на исходные переменные. Поэтому, если вы измените значение параметра внутри обработчика, это приведет к смене значения исходной переменной поступившей на вход функции-обработчика.
Это позволяет, например, изменить RESULT_MESSAGE, что приведет к смене сообщения возвращаемого функцией CUser::Login.
Смотрите также
- Событие "OnBeforeUserLogin"
- CUser::Login
- События
- Внешняя авторизация
Пример функции-обработчика
<?
AddEventHandler("main", "OnAfterUserLogin", Array("MyClass", "OnAfterUserLoginHandler"));
class MyClass
{
// создаем обработчик события "OnAfterUserLogin"
public static function OnAfterUserLoginHandler(&$fields)
{
// если логин не успешен то
if($fields['USER_ID']<=0)
{
// счетчик неудавшихся попыток логина
$_SESSION["AUTHORIZE_FAILURE_COUNTER"]++;
// если количество неудачных попыток авторизации превышает 10, то
if ($_SESSION["AUTHORIZE_FAILURE_COUNTER"]>10)
{
// ищем пользователя по логину
$rsUser = CUser::GetByLogin($fields['LOGIN']);
// и если нашли, то
if ($arUser = $rsUser->Fetch())
{
// блокируем бюджет пользователя
$user = new CUser;
$user->Update($arUser["ID"],array("ACTIVE" => "N"));
// задаем сообщение
$fields['RESULT_MESSAGE'] = array("TYPE" => "ERROR", "MESSAGE" => "Ваш бюджет блокирован.");
}
}
}
}
}
?>
© «Битрикс», 2001-2025, «1С-Битрикс», 2025