0

Am using struts2 to create login and logout functionality, when user login i will create the session for him,by using interceptor i will filter all users if they are in session or not if the session not created i will redirect the page to login........my problem is once i done logout that will redirect to the login page but when user click browser back button the page will get refreshed and again that will login ,,,,,,could anybody help me out from this problem

Thanks in advance

4

2 回答 2

0

当您单击浏览器上的“<-”按钮时,浏览器会从其缓存中呈现页面。所以服务器不知道你是否有点击后退按钮。在您的情况下,当用户单击后退按钮时,页面会从缓存中加载,但这并不意味着再次为该用户创建会话登录。当用户单击该页面上的任何授权链接时,您的服务器端代码将检查用户是否没有有效的会话并返回登录页面。
解决方案:但是,如果您不希望用户获取缓存页面,那么您可以为站点中的每个页面加载一个脚本,例如 checkLogin.js。此脚本应在页面加载事件时执行。当用户注销时,在 cookie 中设置一个变量来指示用户已注销。当用户单击返回按钮时,该脚本将被执行。该脚本将使用提到的 cookie 变量检查用户是否已注销。如果用户已注销,则使用 javascript 重定向到登录页面。

于 2013-10-01T09:33:09.043 回答
0

为了避免这种刷新,我在登录成功后将我的页面重定向到菜单不转发我已经摆脱了那个鬼问题,在你的 struts.xml 中使用这样的

<result name= success" type="redirect">Menu.jsp</result>

谢谢大家

于 2013-10-02T07:05:28.007 回答