Esta pregunta está relacionada con mi otra pregunta "How to redirect to Login page when Session is expired in Java web application?". A continuación se muestra lo que estoy tratando de hacer:Manejo de 'sesión expiró' en la aplicación web JSF, ejecutándose en JBoss AS 5
- Tengo una aplicación JSF web que se ejecuta en JBoss AS 5
- Cuando el usuario está inactivo durante, digamos 15 minutos, necesito la sesión del usuario y redirigirlo a la página de inicio de sesión, si está tratando de usar la aplicación una vez que la sesión ha expirado.
- Por lo tanto, como se sugiere en 'JSF Logout and Redirect', he implementado un filtro que comprueba la condición expirada de la sesión y redirige al usuario a una página session-timed-out.jsp, si la sesión ha expirado.
- He agregado SessionExpiryCheckFilter encima de todas las demás definiciones de filtro en web.xml, de modo que la comprobación de caducidad de mi sesión siempre recibirá el primer acierto.
Ahora viene el desafío Estoy frente a. Dado que estoy usando JBoss AS, cuando la sesión expiró, JBoss automáticamente me redirige a la página de inicio de sesión (tenga en cuenta que el filtro de verificación de caducidad de la sesión no se invoca). Entonces, después de iniciar sesión, mi SessionExpiryCheckFilter intercepta la solicitud y ve que hay una sesión disponible. Pero, arroja la excepción javax.faces.application.ViewExpiredException: viewId:/mypage.faces - View /mypage.faces could not be restored.
¿Alguien ha enfrentado este problema antes? Alguna idea para resolver este problema?
¿Estás usando Seam? –
No. No estoy usando Seam. – Veera
¿Está utilizando Facelets o JSPs? – mtpettyp