日期:2014-05-17  浏览次数:20732 次

jsp 缓存问题
本帖最后由 jijuyuan 于 2014-01-09 19:55:57 编辑
我用struts2hibernate3写的一个登陆,提交用form提交。
登陆进去后修改密码,修改成功后(数据库数据已经修改)退出。
这时候问题就出来了,只要浏览器不关闭,新旧密码有时都可以登录,有时又都不可以登录。
我觉得应该是缓存的问题。然后我关闭了hibernate的二级缓存和页面的缓存,结果还是会登录错乱。
求高手给个思路,给出问题所在,谢谢!

------解决方案--------------------
楼主自己写的登录- -,是否将用户登录状态存入session或cookie中,如果存入在修改密码的时候有没有修改用户的登录状态
------解决方案--------------------
修改密码后要将用户的信息从session中清除,然后踢到登录页面强制重新登录。
------解决方案--------------------
引用:
Quote: 引用:

楼主自己写的登录- -,是否将用户登录状态存入session或cookie中,如果存入在修改密码的时候有没有修改用户的登录状态

你的意思是在修改密码后取消用户在线的状态,退回登录前的状态么?我写入了session,是不是在修改密码后清楚session,然后引导用户重新登录?


修改完密码改掉session中用户登录状态就行,用户的其他请求都要验证用户是否登录,不知道楼主是否做了过滤用户请求(验证用户是否登录),验证到用户请求但未登录就要求登录- -
------解决方案--------------------
更改密码:要么按照3楼说的直接踢到登陆页面,让重新登录;要么直接将新的用户信息写入session。这两种情况实际中都有用到,楼主可以看看实际应用中改密后的处理。