在集群环境下, 常见的基于 Session 的身份认证就会有一个问题, 因为 Session 是跟着服务器走的, 当用户在服务器 1 登陆成功后, 当用户在访问服务器 2 的时候会因为服务器 2 没有用户的身份信息而再次跳转到认证页面. 解决的方案很简单, 不在服务器上单独的管理 Session, 而是把原本放在服务器上的 Session 抽离出来放在一个独立的存储中.
1使用 spirng-session 解决 Session 集群问题
我们只需要告诉 spirng-session 存放 Session 的独立存储是什么, 以及独立存储的连接信息即可. spirng-session 支持以下类型
- package org.springframework.boot.autoconfigure.session;
- public enum StoreType {
- Redis,
- MongoDB,
- JDBC,
- HAZELCAST,
- NONE;
- private StoreType() {
- }
- }
我使用 Redis 作为示例.
来源: http://www.bubuko.com/infodetail-3011902.html