code: @Override
      @FFDCIgnore({ com.ibm.ws.security.authentication.AuthenticationException.class })
      public AuthenticationResult authenticate(HttpServletRequest request,
                                               HttpServletResponse response,
                                               HashMap<String, Object> props) throws Exception {
          WebRequest webRequest = new WebRequestImpl(request, response, ((WebAppConfig) props.get("webAppConfig")).getApplicationName(), null, (SecurityMetadata) props.get("securityMetadata"), null, (WebAppSecurityConfig) props.get("webAppSecurityConfig"));
          JaspiRequest jaspiRequest = new JaspiRequest(webRequest, (WebAppConfig) props.get("webAppConfig"));
          AuthenticationResult result = null;
          AuthConfigProvider provider = getAuthConfigProvider(jaspiRequest.getAppContext());
          if (provider != null) {
              try {
                  if (jaspiRequest.getWebSecurityContext() != null) {
                      JaspiAuthContext jaspiContext = getJaspiAuthContext(jaspiRequest, provider);
                      webRequest.getWebSecurityContext().setJaspiAuthContext(jaspiContext);
                  }
                  result = authenticate(new Subject(),
                                        getJaspiAuthType(jaspiRequest),
                                        jaspiRequest,
                                        provider);
  
              } catch (AuthenticationException e) {
                  if (tc.isDebugEnabled())
                      Tr.debug(tc, "Internal error during JASPI authentication", e);
                  result = new AuthenticationResult(AuthResult.FAILURE, e.getMessage());
  
              }
          } else {
              result = new AuthenticationResult(AuthResult.CONTINUE, "No JASPI provider found for request: " + request.getRequestURI());
  
          }
          return result;
      }
docs: /*
  (non-Javadoc)
  
  @see com.ibm.ws.webcontainer.security.WebAuthenticator#authenticate(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)