问题:就在昨晚利用下班时间,帮助好友解决了一个Bug,问题是这样:通过session将值保存到Cookie中实现用户的登录,但是在用Debug启动走断点的时候发现session能保存进去,但是调用login接口是却拿不到值,一直为null,(日志输出为null)但是run启动就能拿到值,成功登录,(日志输出有值)
目录
1.思考是不是正常run启动和Debug启动两种启动方式不一样
问题排查经过:
1.思考是不是正常run启动和Debug启动两种启动方式不一样
经过查阅资料,确实有不一样,但是经过验证很快就推翻了这条思路
验证:因为两种方式启动之后,只要Debug快速的走完断点,就能登录成功
这时候突然看到这个
这里基本就能确定应该是设置了超时时间
2.在nginx里查看超时时间,
并将超时时间全部加到20000ms
验证:还是没用
3.突然想到也可以在前端加超时时间(有用)
因为前端项目不是我做的(具体也不知道在哪里找),但是这种超时时间大概率会以全局方式进行设置,所以只要找公共的文件配置就行,看到2000基本确定就是这了,加到20000改完之后
验证:还是没用,我懵了
4.清除缓存
验证:有用!
所以问题就是出在3,因为浏览器默认的超时时间是20分钟,过了这个时间session会被清除,前端设置了这个超时时间为2秒清除
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/105073.html