SpringBootSecurity學習(09)網頁版登錄配置Session共享


場景

當后台項目由部署在一台改為部署在多台以后,解決session共享問題最常用的辦法就是把session存儲在redis等緩存中。關於session和cookie概念這里就不再贅述了,在springboot-security環境下,把session存儲到redis中共享是非常非常簡單的,除了多了一些配置,幾乎不用改任何代碼。共享session達到的效果就是,用戶在一台服務器上面登錄成功后,訪問另外一台,用戶也是處於登錄狀態。下面創建兩個一樣的項目,來配置session共享。

增加依賴

把session存儲在redis中配置共享,需要添加兩個依賴,一是redis,二是spring session:

file

配置文件修改

在配置文件中,需要配置redis的數據源和session的一些屬性:

file

關於session的配置,可以根據ide的提示看一下:

file

可以看到session的存儲不僅可以在redis中,還可以在數據庫或者MongoDB中,不過目前redis是選擇最多的一種方式。

添加注解

最后在啟動類中添加一個注解 @EnableRedisHttpSession :

file

測試

先打開一個項目的登錄頁面,登錄成功,

file

然后再打開一個瀏覽器,直接訪問第二個項目的主頁,此時不用登錄直接可以訪問:

file

來看一下session在redis中的存儲:

file

這樣就實現了session共享!此時把其中一個退出,另一個也會自動退出,redis 中的session數據也會自動刪除。

代碼地址 : https://gitee.com/blueses/spring-boot-security 091 092


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM