SpringBoot 集群应用登录校验的解决方案
1,tomcat开启session共享:
缺点:存在广播风暴安全,用户量大的时候,占用资源就严重了,不推荐。
2,使用redis等缓存技术存储token或jsessionid:
服务店使用UUID生成随机64位或者128位token,放入redis中,然后返回给客户端并存储在cookie中,用户每次访问都携带次凭证,然后和服务端redis中的校验。
3,使用最热门的JWT (java web token)方案:
它定义了用户简洁,自包含的通信双方以JSON对象形式安全传递信息的方案,JWT可以使用HMAC 算法 或者 RSA 公钥秘钥对 进行签名。
优点:生产token可包含基本信息,比如ID,用户昵称,头像等,避免查库。并且值存储在客户端,不占用服务端内存资源。
缺点:token经过base64编码,不能包含敏感信息。