`

ofbiz中用户注销后不给回退的解决

阅读更多

 

浏览器的回退有两种情况:一种是服务器的缓存,一种是浏览器的缓存。

 

一般的处理方法:

服务器缓存:增加 session 检查,写个过滤器就行了。

浏览器缓存:在页面头信息中加入<meta http-equiv="cache-control" content="no-cache">即可,如果是 JSP 页面,最好是在 java 里也写上 response.setHeader(...) 加入头信息的去缓存 ;

<META http-equiv=Pragma content=no-cache>
<META http-equiv=Cache-Control content=no-cache>
<META http-equiv=Expires content=0>

response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);
 

 

ofbiz 有点不同:用以上方法有时可能会不起作用。经过摸索发现一种解决方法。

解决方法:在 controller.xml 文件中,每个 view-map元素都加上 no-cache="true" 即可,在回退时会强制重新提交和读取页面。

 

如果还是没有效果,再用以下方法代替:

1 、过滤器,只放行登录页和登录按钮。在过滤器中,如果是成功登录则用重定向 跳转到登录后页面,在之后的页面跳转都不要用重定向 ,在登出时要用重定向 ,这样,登出后要回退就会强制对上个登录成功页面进行过滤检查了。

2 、也是写过滤器,加一个 index.jsp 里面就一个重定向到登录页面。在登出时指向 index.jsp 从这里再跳转到登录页面,这样,回退时就会回到 index.jsp 再次跳转到登陆页面了。

0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics