2013-10-01 176 views
0

我使用struts2来创建登录和注销功能,当用户登录时,我将为他创建会话,通过使用拦截器我将过滤所有用户,如果他们在会话中或不如果会议未创建,我将重定向页面登录........我的问题是我做了注销后,将重定向到登录页面,但当用户点击浏览器后退按钮,页面将刷新,并再次登录,,,,,,可能有人帮助我从这个问题如何避免页面刷新,当我点击后退按钮

在此先感谢

+0

任何人都可以帮助我如何在struts 2中设置cookie并检查每个用户注销 – user2767354

回答

0

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

+0

谢谢你的宝贵时间可以解释我如何做到这一点如果你不介意 – user2767354

+0

你想整个代码或某些特定的东西如访问cookie要么 ... ? –

+0

我对这个struts2很新,可以üplz发帖我整个代码谢谢你 – user2767354

0

为了避免这种令人耳目一新,我有我的重定向页面菜单loginsuccess不转发我已经在乌拉圭回合的struts.xml从鬼问题 使用这样逃脱后

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

感谢所有

相关问题