private WebReply unprotectedSpecialURI(WebRequest webRequest, String uriName, String methodName) {
        LoginConfiguration loginConfig = webRequest.getLoginConfig();
        if (loginConfig == null)
            return null;

        String authenticationMethod = loginConfig.getAuthenticationMethod();
        FormLoginConfiguration formLoginConfig = loginConfig.getFormLoginConfiguration();
        if (formLoginConfig == null || authenticationMethod == null)
            return null;

        String loginPage = formLoginConfig.getLoginPage();
        String errorPage = formLoginConfig.getErrorPage();

        // We check to see if we are either a FORM or CLIENT_CERT auth method.
        // These are the only valid auth methods supported (CLIENT_CERT can
        // fail over to FORM).
        if (isValidAuthMethodForFormLogin(authenticationMethod) && loginPage != null && errorPage != null) {
            if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                Tr.debug(tc, " We have a custom login or error page request, web app login URL:[" + loginPage
                             + "], errorPage URL:[" + errorPage + "], and the requested URI:[" + uriName + "]");
            }
            if (loginPage.equals(uriName) || errorPage.equals(uriName)) {
                if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                    Tr.debug(tc, "authorize, login or error page[" + uriName + "]  requested, permit: ", PERMIT_REPLY);
                return PERMIT_REPLY;
            } else if ((uriName != null && uriName.equals("/j_security_check")) &&
                       (methodName != null && methodName.equals("POST"))) {
                if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                    Tr.debug(tc, "authorize, login or error page[" + uriName + "]  requested, permit: ", PERMIT_REPLY);
                return PERMIT_REPLY;
            }
        } else {
            if (webRequest.getHttpServletRequest().getDispatcherType().equals(DispatcherType.ERROR)) {
                if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                    Tr.debug(tc, "authorize, error page[" + uriName + "]  requested, permit: ", PERMIT_REPLY);
                return PERMIT_REPLY;
            }
        }
        return null;
    }
private WebReply unprotectedSpecialURI ( WebRequest webRequest , String uriName , String methodName ) { LoginConfiguration loginConfig = webRequest . getLoginConfig ( ) ; if ( loginConfig == null ) return null ; String authenticationMethod = loginConfig . getAuthenticationMethod ( ) ; FormLoginConfiguration formLoginConfig = loginConfig . getFormLoginConfiguration ( ) ; if ( formLoginConfig == null || authenticationMethod == null ) return null ; String loginPage = formLoginConfig . getLoginPage ( ) ; String errorPage = formLoginConfig . getErrorPage ( ) ; if ( isValidAuthMethodForFormLogin ( authenticationMethod ) && loginPage != null && errorPage != null ) { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isDebugEnabled ( ) ) { Tr . debug ( tc , " We have a custom login or error page request, web app login URL:[" + loginPage + "], errorPage URL:[" + errorPage + "], and the requested URI:[" + uriName + "]" ) ; } if ( loginPage . equals ( uriName ) || errorPage . equals ( uriName ) ) { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isDebugEnabled ( ) ) Tr . debug ( tc , "authorize, login or error page[" + uriName + "]  requested, permit: " , PERMIT_REPLY ) ; return PERMIT_REPLY ; } else if ( ( uriName != null && uriName . equals ( "/j_security_check" ) ) && ( methodName != null && methodName . equals ( "POST" ) ) ) { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isDebugEnabled ( ) ) Tr . debug ( tc , "authorize, login or error page[" + uriName + "]  requested, permit: " , PERMIT_REPLY ) ; return PERMIT_REPLY ; } } else { if ( webRequest . getHttpServletRequest ( ) . getDispatcherType ( ) . equals ( DispatcherType . ERROR ) ) { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isDebugEnabled ( ) ) Tr . debug ( tc , "authorize, error page[" + uriName + "]  requested, permit: " , PERMIT_REPLY ) ; return PERMIT_REPLY ; } } return null ; }
Determines if the URI requested is "special" and should always be treated
as unprotected, such as the form login page.

@param webRequest
@param uriName
@param methodName
@return Non-null WebReply if the URI is not special, or a PERMIT_REPLY if it is.