发生场景
在spring boot项目中我在postHandle(登录拦截)中,通过ThreadLocal判断其中有没有存储user信息来判断是否将user信息给到前端。
但是在我退出登录之后(通过setUser(null))来清除存储的user信息之后。
连续请求首页,请求首页时调用了我的ThreadLocal.getUser(),方法在连续请求10几次之后,突然能请求到一次用户信息。
2022-05-02 22:51:30.845 INFO 26368 --- [nio-8001-exec-7] com.hwx.goodsSystem.Component.goodsPand : session: null
2022-05-02 22:51:30.845 INFO 26368 --- [nio-8001-exec-7] com.hwx.goodsSystem.Component.goodsPand : user: user(id=3, userName=10086@qq.com, userPassword=null, sex=null, age=null, salt=null, petName=null, imageUrl=/img/hwx.png, dwell=null, signature=null, createTime=Sat Apr 30 22:52:52 CST 2022, updateTime=Sat Apr 30 22:52:52 CST 2022)
2022-05-02 22:51:31.014 INFO 26368 --- [nio-8001-exec-9] com.hwx.goodsSystem.Component.goodsPand : session: null
2022-05

在SpringBoot应用中,开发者遇到一个ThreadLocal用户信息管理的问题。在用户登出后,ThreadLocal中存储的用户信息未能被正确清除,导致在连续的请求中偶尔会获取到已登出用户的详情。通过分析日志,发现在某些请求中用户信息依然存在,而其他请求则显示为已清除。解决办法是确保在登出时调用ThreadLocal的remove()方法以彻底移除用户信息。
最低0.47元/天 解锁文章
2089

被折叠的 条评论
为什么被折叠?



