AppserverIo\Appserver\ServletEngine\Authenticator\FormAuthenticator::forwardToLoginPage PHP Method

forwardToLoginPage() protected method

Forward's the request to the configured login page.
protected forwardToLoginPage ( AppserverIo\Psr\Servlet\Http\HttpServletRequestInterface $servletRequest, AppserverIo\Psr\Servlet\Http\HttpServletResponseInterface $servletResponse ) : void
$servletRequest AppserverIo\Psr\Servlet\Http\HttpServletRequestInterface The servlet request instance
$servletResponse AppserverIo\Psr\Servlet\Http\HttpServletResponseInterface The servlet response instance
return void
    protected function forwardToLoginPage(HttpServletRequestInterface $servletRequest, HttpServletResponseInterface $servletResponse)
    {
        // query whether or not we've a valid form login configuration
        if ($formLoginConfig = $this->getConfigData()->getFormLoginConfig()) {
            if ($formLoginPage = $formLoginConfig->getFormLoginPage()) {
                // initialize the location to redirect to
                $location = $formLoginPage->__toString();
                if ($baseModifier = $servletRequest->getBaseModifier()) {
                    $location = $baseModifier . $location;
                }
                // redirect to the configured login page
                $servletRequest->setDispatched(true);
                $servletResponse->setStatusCode(307);
                $servletResponse->addHeader(Protocol::HEADER_LOCATION, $location);
                return;
            }
        }
        // redirect to the default error page
        $servletRequest->setAttribute(RequestHandlerKeys::ERROR_MESSAGE, 'Please configure a form-login-page when using auth-method \'Form\' in the login-config of your application\'s web.xml');
        $servletRequest->setDispatched(true);
        $servletResponse->setStatusCode(500);
    }