page contents

ThreadLocal问题

Pack 发布于 2020-01-06 16:44
阅读 668
收藏 0

问题描述:部署了2台服务器(nginx),功能的权限校验,在用户登录的时候,将用户的角色信息以及权限信息初始化到(定义一个类class里面定义了ThreadLocal)里面保存用户的相关信息。在请求的高峰期时,偶尔会出现功能权限校验不通过的情况,在校验权限时会从类A里面的ThreadLocal获取该用户的相关权限角色信息进行校验,后台表的权限数据时正确的。请问是否是因为部署了2(A,B)台服务器,当你登录时访问的是其中一台A服务器,登录成功(当前线程ThreadLocal用户信息存在A服务器上)之后,进入功能里面再次发送请求时访问的请求转发到B服务器,导致此时B服务器的当前用户的ThreadLocal内部的信息为空,从而导致的权限校验不通过吗??

117
Pack
Pack

权限角色信息还是放分布式session或者jwt里吧,不如你就得做ip绑定,不如肯定会出现2次访问不在同一台服务器上的


请先 登录 后评论