Class ExceptionMappingAuthenticationFailureHandler

java.lang.Object
org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler
org.springframework.security.web.authentication.ExceptionMappingAuthenticationFailureHandler
All Implemented Interfaces:
AuthenticationFailureHandler

public class ExceptionMappingAuthenticationFailureHandler extends SimpleUrlAuthenticationFailureHandler
Uses the internal map of exceptions types to URLs to determine the destination on authentication failure. The keys are the full exception class names.

If a match isn't found, falls back to the behaviour of the parent class, SimpleUrlAuthenticationFailureHandler.

The map of exception names to URLs should be injected by setting the exceptionMappings property.

Since:
3.0
  • Constructor Details

    • ExceptionMappingAuthenticationFailureHandler

      public ExceptionMappingAuthenticationFailureHandler()
  • Method Details

    • onAuthenticationFailure

      public void onAuthenticationFailure(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, AuthenticationException exception) throws IOException, jakarta.servlet.ServletException
      Description copied from class: SimpleUrlAuthenticationFailureHandler
      Performs the redirect or forward to the defaultFailureUrl if set, otherwise returns a 401 error code.

      If redirecting or forwarding, saveException will be called to cache the exception for use in the target view.

      Specified by:
      onAuthenticationFailure in interface AuthenticationFailureHandler
      Overrides:
      onAuthenticationFailure in class SimpleUrlAuthenticationFailureHandler
      Parameters:
      request - the request during which the authentication attempt occurred.
      response - the response.
      exception - the exception which was thrown to reject the authentication request.
      Throws:
      IOException
      jakarta.servlet.ServletException
    • setExceptionMappings

      public void setExceptionMappings(Map<?,?> failureUrlMap)
      Sets the map of exception types (by name) to URLs.
      Parameters:
      failureUrlMap - the map keyed by the fully-qualified name of the exception class, with the corresponding failure URL as the value.
      Throws:
      IllegalArgumentException - if the entries are not Strings or the URL is not valid.