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