
[英]Java EE form authentication invalidates session after leaving authenticated area
[英]Java ee session/conversation/view timeout redirection
我的环境是:NetBeans7.2.1,GlassFish3.1,JSF2和Weld 1.1.0。
在以下情况之一(会话/会话/视图超时)中,我试图重定向到错误页面。
根据我的阅读,有很多选择:
使用<error-page>
里面web.xml
(但是当我使用某种原因location
与error.xhtml
它不工作,只用一个servlet页面-问这个关于这个问题的问题)。
在faces-config.xml
使用<exception-handler-factory>
,它将像本示例一样使用CustomExceptionHandler
。
在此示例中使用@WebFilter
。
我的主要问题是,在我重定向到error.xhtml
页面后,我想禁止返回上一页。 因此,即使用户单击“后退”按钮,他仍将被重定向到错误页面。
当发生异常时,我能够重定向到错误页面,但是无法清除缓存,因此当用户返回时,他仍然可以看到上一页的内容。
我不完全了解上述三个选项之间的区别,以及每个选项的作用到底是什么。
有人可以解释一下吗?
之间的区别是什么
NavigationHandler nav = fc.getApplication().getNavigationHandler(); nav.handleNavigation(fc, null, "/error"); facesContext.renderResponse();
和
((HttpServletResponse)response).sendRedirect("yourCustomJSF.jsf");
?
如何通过重定向和清除缓存来处理这些异常,以使用户无法看到上一页?
提前致谢。
您可以将其用于处理过期的会话/视图:
<error-page>
<exception-type>javax.faces.application.ViewExpiredException</exception-type>
<location>/index.jsf</location>
</error-page>
我的主要问题是,在我重定向到error.xhtml页面后,我想禁止返回上一页。 因此,即使用户单击“后退”按钮,他仍将被重定向到错误页面
为此,请使用过滤器不缓存页面并将请求发送到服务器,而不是查看此内容以获取过滤器代码
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.