ThreadLocal的非数据安全用法
发布日期:2021-07-01 01:47:39
浏览次数:2
分类:技术文章
本文共 271 字,大约阅读时间需要 1 分钟。
启发于同学处理的bug,他遇到的问题是:
“有三台Tomcat服务器,其中有一台Tomcat服务器出现这种情况:一个用户A登录了系统,如果有新的用户B接着登录系统,会把用户A的登录信息给替换成新用户B的信息。这造成无缘无故看到是别人的昵称和头像。”
原因:这个老旧系统里面使用了ThreadLocal存储用户登录的信息,ThreadLocal是线程安全的,可ThreadLocal不是会话安全的。在Tomcat里面会创建拥有许多线程的线程池,而每条线程被使用后又被Tomcat的线程池收回再利用(只有超过最小空闲才会被回收),线程没有被销毁。
转载地址:https://maokun.blog.csdn.net/article/details/81366389 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月16日 18时14分35秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
JSP / GSP 标签库-Shiro权限学习1
2019-05-01
JS中button控件click事件无法响应的问题
2019-05-01
Layui前端框架导航栏使用介绍
2019-05-01
Commons Email开源项目使用
2019-05-01
Java中Properties文件读取工具类
2019-05-01
JSP中四种传递参数的方法
2019-05-01
java 重定向和转发的区别
2019-05-01
Apache Shiro介绍
2019-05-01
Mybatis中,当插入数据后,返回最新主键id的几种方法,及具体用法
2019-05-01
JS中处理Shiro的权限标签问题
2019-05-01
JS内外部函数调用关系
2019-05-01
InnoDB还是MyISAM 再谈MySQL存储引擎的选择
2019-05-01
MySQL查看和修改表的存储引擎
2019-05-01
Spring AOP中pointcut expression表达式解析 及匹配多个条件
2019-05-01
SpringMVC+MyBatis配置声明式事务的问题
2019-05-01
select的onChange监听不起作用问题
2019-05-01
Select2开源项目如何轻松加入到项目中
2019-05-01
如何修改Tomcat服务器Server Locations
2019-05-01
Android AIDL使用详解
2019-05-01
activiti并发多实例子流程任务处理
2019-05-01