在分佈式環境中,如何支持PC、APP(ios、android)等多端的會話共享,這也是全部公司都須要的解決方案,用傳統的session方式來解決,我想已經out了,咱們是否能夠找一個通用的方案,好比用傳統cas來實現多系統之間的sso單點登陸或使用oauth的第三方登陸方案? 今天給你們簡單講解一下使用spring攔截器Interceptor機制、jwt認證方式、redis分佈式緩存實現sso單點登陸,閒話少說,直接把步驟記錄下來分享給你們:java
1. 引入jwt的相關jar包,在項目pom.xml中引入:android
2. 攔截器配置:ios
我這裏簡單配置了要攔截的url和過濾的url(這個根據本身項目來定)web
3. 編寫jwt的加密或者解密工具類:redis
這個加密工具類是我從網上找的,若是各位要修改,能夠按照本身業務修改便可。spring
4. 建立Login.java對象,用來進行jwt的加密或者解密:緩存
5. 定義RedisLogin對象,用來經過uid往redis進行user對象存儲:session
6. 編寫LoginInterceptor.java攔截器mybatis
7. 定義異常的LoginResponseCode架構
8. 編寫統一sso單點登陸接口:
9. 測試sso單點登陸:
返回結果集:
願意瞭解框架技術或者源碼的朋友直接求求交流分享技術:2042849237
分佈式的一些解決方案,有願意瞭解的朋友能夠找咱們團隊探討
更多詳細源碼參考來源:minglisoft.cn/technology
標籤:spring,springmvc,Spring MVC,web開發,java分佈式架構,shiro,mybatis,kafka,J2ee分佈式架構