繁体   English   中英

jsf中的会话注销问题

[英]session Logout problem in jsf

我正在开发一个Web应用程序,并使用jsf,hibernate和spring框架。

应用程序中存在不同类型的用户。根据用户输入的类型,我为不同的用户类型启用了菜单中的链接。

用户登录后,菜单栏中的注销链接就会提供给用户。我已经编写了logout.jsp页面。

<%session.invalidate(); response.sendRedirect是(response.encodeRedirectURL( “../登录/ login.jsf”)); %>

即使注销后用户仍可以查看应显示给特定类型用户的页面。

请帮忙。

该页面显然是从浏览器缓存中请求的。

通过添加javax.servlet.Filter禁用它,该javax.servlet.Filter映射到覆盖诸如*.jsf类的动态页面的url-pattern ,并在doFilter()方法中doFilter()以下操作。

HttpServletResponse httpResponse = (HttpServletResponse) response;
httpResponse.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
httpResponse.setHeader("Pragma", "no-cache"); // HTTP 1.0.
httpResponse.setDateHeader("Expires", 0); // Proxies.
chain.doFilter(request, response);

通话后

session.invalidate(); 

request.logout();.

方法注销将null设置为在请求上调用getUserPrincipal,getRemoteUser和getAuthType时返回的值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM