Estoy tratando de hacer esto: Make spring security add the return to url in the query string for the login page, es decir: get spring para indicar la página de inicio de sesión de donde vengo. Tengo alguna integración de SSO ... así que les enviaré la url, o agregarán el referer por mí, así que sé que el usuario debe haber iniciado sesión y enviado al /some/url
. Eso es genial. El problema que estoy teniendo es ampliar LoginUrlAuthenticationEntryPoint
(a menos que pueda decirme una buena razón para implementar AuthenticationEntryPoint
en su lugar). Necesito sólo para modificar las solicitudes a la página de inicio de sesión, así:cómo extender LoginUrlAuthenticationEntryPoint o cómo implementar AuthenticationEntryPoint
RedirectStrategy redirectStrategy = new DefaultRedirectStrategy();
// only append returnto to '/login' urls
if(request.getServletPath() == "/login") {
// indicates we want to return to this page after login
redirectStrategy.sendRedirect(request, response, "/login?returnto=" + request.getServletPath());
}
¿Cómo puedo dejar que el resto de las peticiones de hacer su cosa? Esto es incorrecto (lo que estaba haciendo):
RequestDispatcher dispatcher = request.getRequestDispatcher("/login");
// just forward the request
dispatcher.forward(request, response);
porque nos pone en un bucle de redirección. Sin embargo, parece ser what spring does in its version of commence
. Estoy confundido. ¿Qué se supone que debo hacer con commence
en mi extensión personalizada al LoginUrlAuthenticationEntryPoint
?