Necesito configurar una cookie cuando alguien inicia sesión y la página JSP que aparece necesita poder leer esa cookie en Javascript y realizar una acción basada en ella. La parte en la que estoy estancado es establecer una cookie al iniciar sesión. Estoy usando Spring 3.0 y Spring Security 3.0.Configuración de una cookie al iniciar sesión en Spring Security 3.0
Me he registrado un LoginListener:
public class LoginListener implements ApplicationListener {
public void onApplicationEvent(ApplicationEvent event) {
if (event instanceof AuthenticationSuccessEvent) {
somehowGetResponseObject.addCookie(new Cookie(name, value));
}
}
}
Lo ideal sería que también se puede obtener el objeto pedido, por lo que puedo encontrar el contextPath y establecer que, como la ruta de cookies. Estoy de acuerdo con agregar la cookie a un objeto ThreadLocal y luego leer eso más tarde cuando tengo acceso a un objeto de respuesta, pero ¿hay un momento posterior en que tendría ese acceso? No estoy tan entusiasmado con agregar la cookie a una sesión y luego leerla en la página JSP resultante, pero lo haré si es necesario. ¿Puedo obtener acceso a la HttpSession?
ACTUALIZACIÓN: Especificación de una autenticación de éxito-manejador-ref resolvió este: http://static.springsource.org/spring-security/site/docs/3.0.x/reference/core-web-filters.html#form-login-flow-handling
necesito para realizar una acción en javascript cuando alguien abre una sesión. Sin embargo, esa persona puede entrar y terminar en cualquier página web, por lo que no sé la página de antemano que van a aterrizar en . –
Es exactamente por eso que agregué una condición 'if' al ejemplo. Si el usuario ha iniciado sesión, establezca la propiedad bean, si no lo hace nulo. – BalusC
¿Cómo sé que el usuario acaba de iniciar sesión? Solo quiero realizar la acción de javascript si el usuario SÓLO inició sesión por primera vez en esta sesión. –