多个请求,偶尔出现共享感觉 简化的代码如下:
def current_user
return kite_verify(token) if xxxx # 小程序
verify(token) || raise(ActionController::InvalidAuthenticityToken, 'UnauthorizedError') # web页面登陆
end
private
def kite_verify
id, _ = 解析token获取id
User.find_by(id: id)
end
def verify
id, company = 解析token获取id, company
User.find_by(id: id)
Thread.current[:company] = company
end
接口:/test/company
def company
render json: {company: Thread.current[:company]}
end
出现状况:同一个用户 id,小程序登陆,web 登陆不同公司的登陆,小程序能获取到 Thread.current[:company] 的值。
小程序打印出的Thread.current: <Thread:0x00000001049de928@puma threadpool 001 xxx>
web页面登录打印出的Thread.current : <Thread:0x00000001049bfa78@puma threadpool 003 xxxx>
请教一下具体什么原因