Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/main/lib/engine/actionfilter/ |
Upload File : |
<?php namespace Bitrix\Main\Engine\ActionFilter; use Bitrix\Main\Context; use Bitrix\Main\Error; use Bitrix\Main\Event; use Bitrix\Main\EventResult; use Bitrix\Main\Localization\Loc; final class Authentication extends Base { const ERROR_INVALID_AUTHENTICATION = 'invalid_authentication'; /** * @var bool */ private $enableRedirect; public function __construct($enableRedirect = false) { $this->enableRedirect = $enableRedirect; parent::__construct(); } public function onBeforeAction(Event $event) { global $USER; if (!($USER instanceof \CUser) || !$USER->getId()) { $isAjax = $this->getAction()->getController()->getRequest()->getHeader('BX-Ajax'); if ($this->enableRedirect && !$isAjax) { LocalRedirect( SITE_DIR . 'auth/?backurl=' . urlencode(\Bitrix\Main\Application::getInstance()->getContext()->getRequest()->getRequestUri()) ); return new EventResult(EventResult::ERROR, null, null, $this); } Context::getCurrent()->getResponse()->setStatus(401); $this->addError(new Error( Loc::getMessage("MAIN_ENGINE_FILTER_AUTHENTICATION_ERROR"), self::ERROR_INVALID_AUTHENTICATION) ); return new EventResult(EventResult::ERROR, null, null, $this); } return null; } }