- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/user.php
- Класс: CAllUser
- Вызов: CAllUser::LoginByHttpAuth
public function LoginByHttpAuth()
{
$arAuth = MainContext::getCurrent()->getServer()->parseAuthRequest();
foreach (GetModuleEvents('main', 'onBeforeUserLoginByHttpAuth', true) as $arEvent)
{
$res = ExecuteModuleEventEx($arEvent, [&$arAuth]);
if ($res !== null)
{
return $res;
}
}
if (isset($arAuth["basic"]) && $arAuth["basic"]["username"] != '' && $arAuth["basic"]["password"] != '')
{
// Authorize user, if it is http basic authorization, with no remembering
if (!$this->IsAuthorized() || $this->GetLogin() != $arAuth["basic"]["username"])
{
return $this->Login($arAuth["basic"]["username"], $arAuth["basic"]["password"]);
}
}
elseif (isset($arAuth["digest"]) && $arAuth["digest"]["username"] != '' && Option::get('main', 'use_digest_auth', 'N') == 'Y')
{
// Authorize user by http digest authorization
if (!$this->IsAuthorized() || $this->GetLogin() != $arAuth["digest"]["username"])
{
return $this->LoginByDigest($arAuth["digest"]);
}
}
return null;
}