在分散式環境中,如何支援PC、APP(ios、android)等多端的會話共享,這也是所有公司都需要的解決方案,用傳統的session方式來解決,我想已經out了,我們是否可以找一個通用的方案,比如用傳統cas來實現多系統之間的sso單點登入或使用oauth的第三方登入方案? 今天給大家簡單講解一下使用spring攔截器Interceptor機制、jwt認證方式、redis分散式快取實現sso單點登入,閒話少說,直接把步驟記錄下來分享給大家:
- 引入jwt的相關jar包,在專案pom.xml中引入:
Java程式碼
- 攔截器配置:
Java程式碼
- 編寫jwt的加密或者解密工具類:
Java程式碼
這個加密工具類是我從網上找的,如果各位要修改,可以按照自己業務修改即可。- 建立Login.java物件,用來進行jwt的加密或者解密:
Java程式碼
- 定義RedisLogin物件,用來通過uid往redis進行user物件儲存:
Java程式碼
6. 編寫LoginInterceptor.java攔截器Java程式碼
7. 定義異常的LoginResponseCodeJava程式碼
8. 編寫統一sso單點登入介面:Java程式碼
9. 測試sso單點登入: 返回結果集:Java程式碼
到此完畢!!我這邊會將近期研發的spring cloud微服務雲架構的搭建過程和精髓記錄下來,幫助更多有興趣研發spring cloud框架的朋友,大家來一起探討spring cloud架構的搭建過程及如何運用於企業專案。
我本人邀約各大BATJ架構大牛共創Spring Cloud構建微服務架構的交流社群。 (群號:573988200)歡迎各路架構師、開發者,學習與交流使用Spring Cloud諸多強大元件的實戰經驗。
為什麼某些人會一直比你優秀,是因為他本身就很優秀還一直在持續努力變得更優秀,而你是不是還在滿足於現狀內心在竊喜! 合理利用自己每一分每一秒的時間來學習提升自己,不要再用"沒有時間“來掩飾自己思想上的懶惰!趁年輕,使勁拼,給未來的自己一個交代!
希望此文能幫到大家的同時,也聽聽大家的觀點。歡迎留言討論,加關注,分享你的高見!持續更新!
To-陌霖Java架構
複製程式碼
分享網際網路最新文章 關注網際網路最新發展