web/src/main/java/org/springframework/security/web/authentication/SimpleUrlAuthenticationFailureHandler.java
public void onAuthenticationFailure(HttpServletRequest request,
			HttpServletResponse response, AuthenticationException exception)
			throws IOException, ServletException {

		if (defaultFailureUrl == null) {
			logger.debug("No failure URL set, sending 401 Unauthorized error");

			response.sendError(HttpStatus.UNAUTHORIZED.value(),
				HttpStatus.UNAUTHORIZED.getReasonPhrase());
		}
		else {
			saveException(request, exception);

			if (forwardToDestination) {
				logger.debug("Forwarding to " + defaultFailureUrl);

				request.getRequestDispatcher(defaultFailureUrl)
						.forward(request, response);
			}
			else {
				logger.debug("Redirecting to " + defaultFailureUrl);
				redirectStrategy.sendRedirect(request, response, defaultFailureUrl);
			}
		}
	}
public void onAuthenticationFailure(HttpServletRequest request,
			HttpServletResponse response, AuthenticationException exception)
			throws IOException, ServletException {

		if (defaultFailureUrl == null) {
			logger.debug("No failure URL set, sending 401 Unauthorized error");

			response.sendError(HttpStatus.UNAUTHORIZED.value(),
				HttpStatus.UNAUTHORIZED.getReasonPhrase());
		}
		else {
			saveException(request, exception);

			if (forwardToDestination) {
				logger.debug("Forwarding to " + defaultFailureUrl);

				request.getRequestDispatcher(defaultFailureUrl)
						.forward(request, response);
			}
			else {
				logger.debug("Redirecting to " + defaultFailureUrl);
				redirectStrategy.sendRedirect(request, response, defaultFailureUrl);
			}
		}
	}
public void onAuthenticationFailure ( HttpServletRequest request , HttpServletResponse response , AuthenticationException exception ) throws IOException , ServletException { if ( defaultFailureUrl == null ) { logger . debug ( "No failure URL set, sending 401 Unauthorized error" ) ; response . sendError ( HttpStatus . UNAUTHORIZED . value ( ) , HttpStatus . UNAUTHORIZED . getReasonPhrase ( ) ) ; } else { saveException ( request , exception ) ; if ( forwardToDestination ) { logger . debug ( "Forwarding to " + defaultFailureUrl ) ; request . getRequestDispatcher ( defaultFailureUrl ) . forward ( request , response ) ; } else { logger . debug ( "Redirecting to " + defaultFailureUrl ) ; redirectStrategy . sendRedirect ( request , response , defaultFailureUrl ) ; } } }
Performs the redirect or forward to the {@code defaultFailureUrl} if set, otherwise
returns a 401 error code.
<p>
If redirecting or forwarding, {@code saveException} will be called to cache the
exception for use in the target view.
Performs the redirect or forward to the {