private URL computeEffectiveUrl( HttpServletRequest request, URL requestURL ) { if (!_application.requiresAuthorization( requestURL ) || userIsAuthorized( request, requestURL ) ) { return requestURL; } else if (request.getRemoteUser() != null) { throw new AccessDeniedException( requestURL ); } else if (_application.usesBasicAuthentication()) { throw AuthorizationRequiredException.createBasicAuthenticationRequiredException( _application.getAuthenticationRealm() ); } else if (!_application.usesFormAuthentication()) { throw new IllegalStateException( "Authorization required but no authentication method defined" ); } else { ((ServletUnitHttpSession) request.getSession()).setOriginalURL( requestURL ); return _application.getLoginURL(); } }
private URL computeEffectiveUrl( HttpServletRequest request, URL requestURL ) { if (!_application.requiresAuthorization( requestURL ) || userIsAuthorized( request, requestURL ) ) { return requestURL; } else if (request.getRemoteUser() != null) { throw new AccessDeniedException( requestURL ); } else if (_application.usesBasicAuthentication()) { throw AuthorizationRequiredException.createBasicAuthenticationRequiredException( _application.getAuthenticationRealm() ); } else if (!_application.usesFormAuthentication()) { throw new IllegalStateException( "Authorization required but no authentication method defined" ); } else { ((ServletUnitHttpSession) request.getSession()).setOriginalURL( requestURL ); return _application.getLoginURL(); } }
private URL computeEffectiveUrl( HttpServletRequest request, URL requestURL ) { if (!_application.requiresAuthorization( requestURL ) || userIsAuthorized( request, requestURL ) ) { return requestURL; } else if (request.getRemoteUser() != null) { throw new AccessDeniedException( requestURL ); } else if (_application.usesBasicAuthentication()) { throw AuthorizationRequiredException.createBasicAuthenticationRequiredException( _application.getAuthenticationRealm() ); } else if (!_application.usesFormAuthentication()) { throw new IllegalStateException( "Authorization required but no authentication method defined" ); } else { ((ServletUnitHttpSession) request.getSession()).setOriginalURL( requestURL ); return _application.getLoginURL(); } }
/** * Constructs a servlet invocation context for a specified servlet container, * request, and cookie headers. **/ InvocationContextImpl( ServletUnitClient client, ServletRunner runner, FrameSelector frame, WebRequest request, Dictionary clientHeaders, byte[] messageBody ) throws IOException, MalformedURLException { _client = client; _application = runner.getApplication(); _frame = frame; URL requestURL = request.getURL(); final ServletUnitHttpRequest suhr = new ServletUnitHttpRequest( _application.getServletRequest( requestURL ), request, runner.getContext(), clientHeaders, messageBody ); if (_application.usesBasicAuthentication()) suhr.readBasicAuthentication(); else if (_application.usesFormAuthentication()) suhr.readFormAuthentication(); HttpSession session = suhr.getSession( /* create */ false ); if (session != null) ((ServletUnitHttpSession) session).access(); _effectiveURL = computeEffectiveUrl( suhr, requestURL ); _contextStack.push( new ExecutionContext( suhr, new ServletUnitHttpResponse(), _application.getServletRequest( _effectiveURL ) ) ); }
/** * Constructs a servlet invocation context for a specified servlet container, * request, and cookie headers. **/ InvocationContextImpl( ServletUnitClient client, ServletRunner runner, FrameSelector frame, WebRequest request, Dictionary clientHeaders, byte[] messageBody ) throws IOException, MalformedURLException { _client = client; _application = runner.getApplication(); _frame = frame; URL requestURL = request.getURL(); final ServletUnitHttpRequest suhr = new ServletUnitHttpRequest( _application.getServletRequest( requestURL ), request, runner.getContext(), clientHeaders, messageBody ); if (_application.usesBasicAuthentication()) suhr.readBasicAuthentication(); else if (_application.usesFormAuthentication()) suhr.readFormAuthentication(); HttpSession session = suhr.getSession( /* create */ false ); if (session != null) ((ServletUnitHttpSession) session).access(); _effectiveURL = computeEffectiveUrl( suhr, requestURL ); _contextStack.push( new ExecutionContext( suhr, new ServletUnitHttpResponse(), _application.getServletRequest( _effectiveURL ) ) ); }
/** * Constructs a servlet invocation context for a specified servlet container, * request, and cookie headers. **/ InvocationContextImpl( ServletUnitClient client, ServletRunner runner, FrameSelector frame, WebRequest request, Dictionary clientHeaders, byte[] messageBody ) throws IOException, MalformedURLException { _client = client; _application = runner.getApplication(); _frame = frame; URL requestURL = request.getURL(); final ServletUnitHttpRequest suhr = new ServletUnitHttpRequest( _application.getServletRequest( requestURL ), request, runner.getContext(), clientHeaders, messageBody ); if (_application.usesBasicAuthentication()) suhr.readBasicAuthentication(); else if (_application.usesFormAuthentication()) suhr.readFormAuthentication(); HttpSession session = suhr.getSession( /* create */ false ); if (session != null) ((ServletUnitHttpSession) session).access(); _effectiveURL = computeEffectiveUrl( suhr, requestURL ); _contextStack.push( new ExecutionContext( suhr, new ServletUnitHttpResponse(), _application.getServletRequest( _effectiveURL ) ) ); }