這一節介紹,在認證服務器上使用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 如果幫助到了你,給個小星星吧
歡迎關注個人公眾號一起交流學習: