function AuthenticationSubscriber::onExceptionSendChallenge
Same name in other branches
- 9 core/lib/Drupal/Core/EventSubscriber/AuthenticationSubscriber.php \Drupal\Core\EventSubscriber\AuthenticationSubscriber::onExceptionSendChallenge()
- 8.9.x core/lib/Drupal/Core/EventSubscriber/AuthenticationSubscriber.php \Drupal\Core\EventSubscriber\AuthenticationSubscriber::onExceptionSendChallenge()
- 11.x core/lib/Drupal/Core/EventSubscriber/AuthenticationSubscriber.php \Drupal\Core\EventSubscriber\AuthenticationSubscriber::onExceptionSendChallenge()
Respond with a challenge on access denied exceptions if appropriate.
On a 403 (access denied), if there are no credentials on the request, some authentication methods (e.g. basic auth) require that a challenge is sent to the client.
Parameters
\Symfony\Component\HttpKernel\Event\ExceptionEvent $event: The exception event.
File
-
core/
lib/ Drupal/ Core/ EventSubscriber/ AuthenticationSubscriber.php, line 111
Class
- AuthenticationSubscriber
- Authentication subscriber.
Namespace
Drupal\Core\EventSubscriberCode
public function onExceptionSendChallenge(ExceptionEvent $event) {
if (isset($this->challengeProvider) && $event->isMainRequest()) {
$request = $event->getRequest();
$exception = $event->getThrowable();
if ($exception instanceof AccessDeniedHttpException && !$this->authenticationProvider
->applies($request) && (!isset($this->filter) || $this->filter
->appliesToRoutedRequest($request, FALSE))) {
$challenge_exception = $this->challengeProvider
->challengeException($request, $exception);
if ($challenge_exception) {
$event->setThrowable($challenge_exception);
}
}
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.