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分佈式架構

相關文章
相關標籤/搜索