function AuthenticationSubscriber::onExceptionAccessDenied

Same name in other branches
  1. 8.9.x core/lib/Drupal/Core/EventSubscriber/AuthenticationSubscriber.php \Drupal\Core\EventSubscriber\AuthenticationSubscriber::onExceptionAccessDenied()
  2. 10 core/lib/Drupal/Core/EventSubscriber/AuthenticationSubscriber.php \Drupal\Core\EventSubscriber\AuthenticationSubscriber::onExceptionAccessDenied()
  3. 11.x core/lib/Drupal/Core/EventSubscriber/AuthenticationSubscriber.php \Drupal\Core\EventSubscriber\AuthenticationSubscriber::onExceptionAccessDenied()

Detect disallowed authentication methods on access denied exceptions.

Parameters

\Symfony\Component\HttpKernel\Event\ExceptionEvent $event: The event.

File

core/lib/Drupal/Core/EventSubscriber/AuthenticationSubscriber.php, line 130

Class

AuthenticationSubscriber
Authentication subscriber.

Namespace

Drupal\Core\EventSubscriber

Code

public function onExceptionAccessDenied(ExceptionEvent $event) {
    if (isset($this->filter) && $event->isMainRequest()) {
        $request = $event->getRequest();
        $exception = $event->getThrowable();
        if ($exception instanceof AccessDeniedHttpException && $this->authenticationProvider
            ->applies($request) && !$this->filter
            ->appliesToRoutedRequest($request, TRUE)) {
            $event->setThrowable(new AccessDeniedHttpException('The used authentication method is not allowed on this route.', $exception));
        }
    }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.