Sa-Token
1.UserSession的存储位置
如果使用loginId存储Session的话,那么一个用户登录两个设备那他们就会共享session了
2.sa-token考虑线程安全的问题
因为sa-token绑定request(在非web情况下包异常-非Web上下文无法获取Response),所以当创建完token就会存到dataMap中,但是这个变量是线程安全的;dataMap存储两类数据一类是id:session,另一类是token:id;
3.多个用户登录时如果id一样,则会共用同一个session
4.获取token的方式
// 1. 尝试从Storage里读取
// 2. 尝试从请求体里面读取
// 3. 尝试从header里读取
// 4. 尝试从cookie里读取
5.用户登陆时怎么创建token
如果配置为共享token, 则尝试从Session签名记录里取出token,如果获取不到则会创建token;然后会将token存储到request和cookie(如果设置了cookie可用)中
6.bug
1.当同一个用户使用两个设别同时登陆时,sa-token会丢失一个设备的登录的设备签名