Estamos teniendo dos formas de iniciar sesión.Spring Security: Redirigir a la página de inicio de sesión si la autenticación falló
Cuando el nombre de usuario y la contraseña están presentes en el encabezado de la solicitud y si su mal, se me muestra un estado HTTP 401 - Error de autenticación: Bad credenciales página.
Cómo hago que muestre la página de inicio de sesión en caso de que falle la autenticación.
A continuación se muestra el código de la security.xml
<http auto-config="true" use-expressions="true">
<access-denied-handler error-page="/login.jsp"/>
<intercept-url pattern="/*Login*" access="hasRole('ROLE_ANONYMOUS')"/>
<intercept-url pattern="/*" access="hasRole('ROLE_USER') or hasRole('ROLE_ADMIN')"/>
<custom-filter ref="requestHeaderFilter" before="FORM_LOGIN_FILTER"/>
<form-login login-page="/login.jsp"/>
</http>
Por favor, hágamelo saber si usted necesita más información.
Editar: Añadiendo el código para el filtro RequestHeader en mi solicitud
public class RequestHeaderProcessingFilter extends AbstractAuthenticationProcessingFilter{
private String usernameHeader = "j_username";
private String passwordHeader = "j_password";
protected RequestHeaderProcessingFilter() {
super("/login_direct");
}
//getters and setters
@Override
public Authentication attemptAuthentication(HttpServletRequest request, HttpServletResponse response) throws AuthenticationException, IOException, ServletException {
String username = request.getHeader(usernameHeader);
String password = request.getHeader(passwordHeader);
SignedUsernamePasswordAuthenticationToken authRequest =
new SignedUsernamePasswordAuthenticationToken(username, password);
return this.getAuthenticationManager().authenticate(authRequest);
}
}
Hola Raghuram, gracias. ¿dónde configuro defaultFailureUrl? ¿Tengo que conectarlo, en el código que he proporcionado arriba? – vinoth
@vinoth. Depende de la implementación de la implementación 'requestHeaderFilter'. Las clases mencionadas en la respuesta muestran una forma de hacerlo – Raghuram
Hola, he agregado la implementación de requestHeaderFilter. ¿Deberíamos hacer cambios en eso? – vinoth