• Модуль: 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;
}