• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/access/baseaccesscontroller.php
  • Класс: BitrixMainAccessBaseAccessController
  • Вызов: BaseAccessController::check
public function check(string $action, AccessibleItem $item = null, $params = null): bool
{
	$rule = $this->ruleFactory->createFromAction($action, $this);
	if (!$rule)
	{
		throw new UnknownActionException($action);
	}

	$event = $this->sendEvent(EventDictionary::EVENT_ON_BEFORE_CHECK, $action, $item, $params);
	$isAccess = $event->isAccess();

	if (!is_null($isAccess))
	{
		return $isAccess;
	}

	$isAccess = $rule->execute($item, $params);

	$event = $this->sendEvent(EventDictionary::EVENT_ON_AFTER_CHECK, $action, $item, $params, $isAccess);

	$isAccess = $event->isAccess() ?? $isAccess;

	return $isAccess;
}