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

最近项目上出现了用户登录超时之后,被跳转到了后台管理员登录页面的问题,查看发现是登录超时之后,被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。


mvc:view-controller标签

如果发送的请求不想通过controller,只想直接地跳转到目标页面,这时候就可以使用mvc:view-controller标签
在配置文件中配置:

<mvc:view-controller path="/hello" view-name=“hello”></mvc:view-controller>
1
path=”/hello” 就是你访问的路径(相当于RequestMapping(“/hello”))
view-name=”hello”是你所要的视图(如hello.jsp,相当于return “hello”) 配置了这个后对于/hello请求,就会直接交给dispatcherServlet,然后使用ViewResolver进行解析。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值