sessionid超时后,重定向302到某个页面

来源:互联网 发布:卖家淘宝客怎么玩 编辑:程序博客网 时间:2024/05/13 19:54

最近项目上出现了用户登录超时之后,被跳转到了后台管理员登录页面的问题,查看发现是登录超时之后,被302到了后台管理员登录页面
也就是说,在某个地方指定了sessionid失效之后,重定向到了某个页面,查询配置发现如下配置

<session-management invalid-session-url="/login" session-fixation-protection="newSession" />

改成如下即可:

<session-management invalid-session-url="/errorpage" session-fixation-protection="newSession" />

在springmvc的配置文件中添加:

<mvc:view-controller path="/errorpage" />

需要注意的是session超时的重定向页面应当是不需要认证的,否则再重定向到session超时页面时会直接转到用户登录页面。
此外如果你使用这种方式来检测session超时,当你退出了登录,然后在没有关闭浏览器的情况下又重新进行了登录,Spring Security可能会错误的报告session已经超时。这是因为即使你已经退出登录了,但当你设置session无效时,对应保存session信息的cookie并没有被清除,等下次请求时还是会使用之前的sessionId进行请求。解决办法是显示的定义用户在退出登录时删除对应的保存session信息的cookie。

原创粉丝点击