这一节介绍,在认证服务器上使用spring session。

由于认证服务器肯定要是一个高可用状态,所以一定是一个集群,这就需要做session共享,最简单的实现就是使用spring session。

 

 Spring Session官方文档 :https://docs.spring.io/spring-session/docs/2.1.9.RELEASE/reference/html5/

Spring session有redis实现,有jdbc实现,用法差不多,这里使用redis

 

 

 

 

可以看到,配置一个注解,然后配置好redis,即可使用spring session with redis。

 

 开始使用 

1,引入maven依赖


<!-- redis -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
        <!--springboot2.X默认使用lettuce连接池,需要引入commons-pool2-->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-pool2</artifactId>
        </dependency>
        <!--spring session redis-->
        <dependency>
            <groupId>org.springframework.session</groupId>
            <artifactId>spring-session-data-redis</artifactId>
        </dependency>

 

 

2,配好redis

 

 

 

 3,写注解,启用spring session

 

配置session失效时间:一个月

 重启订单,认证,网关,客户端应用admin,四个服务器,在客户端应用admin上做登录

登录成功后,重启认证服务器,再刷新客户端应用的页面,还是处于登录状态,说明认证服务器的session已经持久化了

 

 redis:

 

如果使用jdbc的实现,那就照着官方文档做吧!

 

github代码:https://github.com/lhy1234/springcloud-security/tree/chapt-5-4-springsession  如果帮助到了你,给个小星星吧

 

 

欢迎关注个人公众号一起交流学习: