此问题与我的另一个问题“How to redirect to Login page when Session is expired in Java web application?”有关。下面是我想要做的事:在JBoss AS中运行的JSF Web应用程序处理'session expired'5
- 我已经运行在JBoss上AS 5
- 当用户处于非活动状态的JSF Web应用程序,比如15分钟,我需要注销用户和如果他在会话过期后尝试使用应用程序,则将其重定向到登录页面。
- 因此,如'JSF Logout and Redirect'所示,我已经实现了一个过滤器,用于检查会话过期条件并将用户重定向到session-timed-out.jsp页面(如果会话已过期)。
- 我已经在web.xml中的所有其他过滤器定义之上添加了SessionExpiryCheckFilter,这样我的会话过期检查将始终得到第一个命中。
现在到了挑战我面临。由于我使用的是JBoss AS,当会话过期时,JBoss会自动将我重定向到登录页面(请注意会话过期检查过滤器未被调用)。所以,在我登录后,我的SessionExpiryCheckFilter拦截了请求,并且它看到一个会话可用。但是,它会抛出异常javax.faces.application.ViewExpiredException: viewId:/mypage.faces - View /mypage.faces could not be restored.
有没有人遇到过这个问题?任何想法来解决这个问题?
您使用的是Seam吗? – 2009-06-23 10:14:05
不,我不使用Seam。 – Veera 2009-06-23 11:04:21