public function AuthenticationSubscriber::onExceptionSendChallenge in Drupal 8
Same name and namespace in other branches
- 9 core/lib/Drupal/Core/EventSubscriber/AuthenticationSubscriber.php \Drupal\Core\EventSubscriber\AuthenticationSubscriber::onExceptionSendChallenge()
- 10 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\GetResponseForExceptionEvent $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(GetResponseForExceptionEvent $event) {
if (isset($this->challengeProvider) && $event
->isMasterRequest()) {
$request = $event
->getRequest();
$exception = $event
->getException();
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
->setException($challenge_exception);
}
}
}
}