思路:需要乙個專門負責登入的sso系統
先說登入:a 、b兩個系統登入時,以a系統舉例,先在自己系統判斷有沒有登入根據session中是否有sso中返回的token,沒有登入的就去sso系統校驗是否已經登入(也是通過session),未登入的——》未登入,則登入 ,設定session,並建立token,使用redis,string欄位設定——》token返回給a系統,a系統再用該token去請求sso校驗token是否有效(不能直接用,這是必須的步驟) ——》 校驗通過,建立區域性的會話憑據session,在有效期內,使用者就可以直接通過該憑據和a系統進行互動。
這個時候訪問b系統 ——》b還未登入,所以沒有token和會話session,所以跳轉到sso ——》這時因為有會話存在,因為a登入過,所以從redis中獲取使用者對應的token。——》返回給b,b再將token請求sso校驗token是否有效——》校驗通過,建立區域性會話session。
關鍵點:子系統和sso系統都需要使用session來儲存使用者是否登入的狀態。
單點登入的解決思路
有個問題 我以前一直弄不清楚 那就是 在登入第乙個系統之後 如何登入第二個系統 我以為是通過超連結進去的 但是看了那麼多的資料 又覺得 應該是在位址列直接輸位址進去的 可是這樣新的問題就來了 登入第二個系統的時候 如何知道第乙個系統已經登入了 靠什麼傳輸乙個標誌 這個問題 我到目前為止想到 兩種解決...
使用者登入 單點登入
首先是為啥要用單點登入的問題,單點登入也就是sso sso是在多個應用系統中,使用者只需要登入一次就可以訪問所有相互信任的應用系統。1 任何系統都必須去登陸伺服器進行登入 2 伺服器就記住了登入狀態 3 其他系統訪問受保護資源,需要再次登入,跳轉到sso server登入的時候,伺服器告訴客戶端,已...
實現單點登入功能的思路以及kafka同步資料
單點登入以及使用者資料同步思路與方案 當公司業務分布於多個子系統時,同一使用者在a系統註冊,即可在其他所有關聯系統使用,並支援登入a系統後,自動在其他系統登入,退出同理。在a平台修改通用的使用者資料 比如密碼 及時通知其它平台進行更新資料。每個系統有自己單獨的使用者表,用於各自的業務邏輯,但使用者i...