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

在分佈式環境中,如何支持PC、APP(ios、android)等多端的會話共享,這也是所有公司都需要的解決方案,用傳統的session方式來解決,我想已經out了,我們是否可以找一個通用的方案,比如用傳統cas來實現多系統之間的sso單點登錄或使用oauth的第三方登錄方案? 今天給大家簡單講解一下使用spring攔截器Interceptor機制、jwt認證方式、redis分佈式緩存實現sso單點登錄,閒話少說,直接把步驟記錄下來分享給大家:

1. 引入jwt的相關jar包,在項目pom.xml中引入:



2. 攔截器配置:



我這裏簡單配置了要攔截的url和過濾的url(這個根據自己項目來定)

3. 編寫jwt的加密或者解密工具類:



這個加密工具類是我從網上找的,如果各位要修改,可以按照自己業務修改即可。

4. 創建Login.java對象,用來進行jwt的加密或者解密:




5. 定義RedisLogin對象,用來通過uid往redis進行user對象存儲:




6. 編寫LoginInterceptor.java攔截器




7. 定義異常的LoginResponseCode



8. 編寫統一sso單點登錄接口:



9. 測試sso單點登錄:



返回結果集:



願意瞭解框架技術或者源碼的朋友直接求求交流分享技術:2042849237

分佈式的一些解決方案,有願意瞭解的朋友可以找我們團隊探討

更多詳細源碼參考來源:http://minglisoft.cn/technology

標籤:spring,springmvc,Spring MVC,web開發,java分佈式架構,shiro,mybatis,kafka,J2ee分佈式架構

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章