spring+springmvc+Interceptor+jwt+redis實現sso單點登陸

在分佈式環境中,如何支持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

相關文章
相關標籤/搜索