• Модуль: dav
  • Путь к файлу: ~/bitrix/modules/dav/classes/general/webdav.php
  • Класс: CDavWebDav
  • Вызов: CDavWebDav::CheckAuthWrapper
protected function CheckAuthWrapper()
{
	/** @var CDavRequest $request */
	$request = $this->request;

	if (method_exists($this, "CheckAuth"))
	{
		$authType = $request->GetParameter("AUTH_TYPE");
		$phpAuthUser = $request->GetParameter("PHP_AUTH_USER");
		$phpAuthPw = $request->GetParameter("PHP_AUTH_PW");

		$authorization = $request->GetParameter("Authorization");
		if (is_null($authorization))
		{
			$authorization = $request->GetParameter("REMOTE_USER");
		}
		if (is_null($authorization))
		{
			$authorization = $request->GetParameter("REDIRECT_REMOTE_USER");
		}

		if (is_null($phpAuthUser) && !is_null($authorization) && mb_strpos($authorization, 'Basic ') === 0)
		{
			$hash = base64_decode(mb_substr($authorization, 6));
			if (mb_strpos($hash, ':') !== false)
			{
				[$phpAuthUser, $phpAuthPw] = explode(':', $hash, 2);
			}
		}

		return $this->CheckAuth(
			$authType,
			$phpAuthUser,
			$phpAuthPw
		);
	}
	else
	{
		return true;
	}
}