一、實現思路
1、客戶端1在訪問時會查看本地瀏覽器是否有cookie緩存,如果沒有則將該客戶端的鏈接URL參數傳遞到登錄服務
2、在登錄服務中通過過濾器獲取該服務中是否存在該項目的cookie緩存,如果有則直接將cookie根據客戶端1的回調鏈接進行重定向返回,並寫入客戶端1的本地瀏覽器緩存中。如果不存在則進行登錄,並生產cookie信息存在登錄服務中並將該cookie信息隨着客戶端1的回調地址傳遞到客戶端1服務中
3、客戶端1獲取到登錄服務中的cookie信息后,會根據cookie去redis中驗證是否存在,若存在則將該cookie信息存入到客戶端1的瀏覽器中。
二、進入xxl官網
https://www.xuxueli.com/page/projects.html,下載XXL-SSO|分布式單點登錄框架
SSO框架官方文檔:https://www.xuxueli.com/xxl-sso/
三、更改數據
1.更改host文件
Host文件地址:C:\Windows\System32\drivers\etc
127.0.0.1 xxlssoserver.com 127.0.0.1 xxlssoclient1.com 127.0.0.1 xxlssoclient2.com
將xxl-sso-web-sample-springboot xxl-sso-core xxl-sso-server對應的redis配置文件進行更改為真實的連接地址2.更改xxl-sso-server的redis配置文件
3.更改驗證用戶的數據
即更改xxl-sso-server中的userServiceImpl文件對應代碼
4.更改cookie生成方式
默認是使用用戶id進行生成,該用法存在cookie可能重復的bug
四、注意事項
1.注釋devtools依賴jar包
注釋掉xxl-sso-server服務中的devtools依賴jar包,不然會在項目發送改變時他會幫我們自動重啟,容易產生報錯
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>provided</scope> <optional>true</optional> </dependency>
2.JedisUtil工具類優化
JedisUtil工具類中的配置也可以進行修改成配置文件的形式,里面代碼可以進行優化
3.解決maven-gpg-plugin和maven-javadoc-plugin不能進行下載
可以添加以下依賴在中央倉庫進行下載
<dependency> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> <version>1.6</version> <type>maven-plugin</type> </dependency> <dependency> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>3.2.0</version> </dependency>
Xxl-sso-server 五、需啟動服務
xxl-sso-web-sample-springboot
在idea中同時啟用多個不同端口的項目時需設置share
如果對以上xxl-sso框架有什么疑問的歡迎留言探討,轉載請說明出處,本人博客地址:https://www.cnblogs.com/chenyuanbo/