session失效之后重新登录,点击失效之前的菜单依旧返回登录页面

框架是SpringMVC+Spring-security+freemarker


错误分析:正常来说,session失效的时候服务器后台会将失效的sessionId发送给前端的浏览器并作为cookie存储起来,这样cookie也会马上失效。但是发生以上的问题

经过日志跟踪发现session失效的时候,产生了一个未知的cookie,这个cookie并不是由服务器端传到浏览器的,这样就导致session失效了,但是点击失效链接产生的cookie却不生效,只有清除浏览器缓存或者关闭浏览器才会失效,所以导致了如标题所述的问题。


解决方法:在web.xml中我配置的servlet-mapping为:

     <servlet-mapping>
        <servlet-name>springMVC</servlet-name>
        <url-pattern>/ps-admin-nimitz/*</url-pattern><!-- 注意这里就是URL拦截配置 -->
    </servlet-mapping>

由于我的一级菜单比较多,所以我的URL并不是直接用   /ps-admin-nimitz/hello.do,而是在ps-admin-nimitz和hello.do之间加了一个一级菜单的名称,例如 /ps-admin-nimitz/consumer/hello.do,经过验证就是由于加了这个consumer导致了以上的问题,所以去掉consumer即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值