Symfony\Component\HttpKernel\Security\Firewall\SwitchUserListener::handle PHP Method

handle() public method

Handles digest authentication.
public handle ( Symfony\Component\EventDispatcher\Event $event )
$event Symfony\Component\EventDispatcher\Event An Event instance
    public function handle(Event $event)
    {
        $request = $event->get('request');

        if (!$request->get($this->usernameParameter)) {
            return;
        }

        if ('_exit' === $request->get($this->usernameParameter)) {
            $this->securityContext->setToken($this->attemptExitUser($request));
        } else {
            try {
                $this->securityContext->setToken($this->attemptSwitchUser($request));
            } catch (AuthenticationException $e) {
                if (null !== $this->logger) {
                    $this->logger->debug(sprintf('Switch User failed: "%s"', $e->getMessage()));
                }
            }
        }

        $response = new Response();
        $request->server->set('QUERY_STRING', '');
        $response->setRedirect($request->getUri(), 302);

        $event->setReturnValue($response);

        return true;
    }