知識鋪墊
Http協定
說明:超文本的無狀态的協定,可以跳過登入直接通過浏覽器通路伺服器資源。
有狀态會話
session就是一種會話機制,前端cookie存儲sessionId作為身份證來保留使用者的登入狀态。
單點登入系統設計
單系統的登入解決方案
說明:對于使用者而言,web系統就是一個整體,登入/登出隻要一次就夠了,web系統負責管理使用者在不同web子系統中的 登入/登出 狀态。

多系統的登入解決方案
同域名共享cookie的方式:
單系統登入解決方案的核心是cookie,cookie攜帶會話id在浏覽器與伺服器之間維護會話狀态。 但cookie是有限制的,這個限制就是cookie的域(通常對應網站的域名),浏覽器發送http請求時會自動攜帶與該域比對的cookie,而不是所有cookie。
問題:
群域名得統一、應用群各系統使用的技術(至少是web伺服器)要相同、cookie本身不安全。
單點登入
多系統應用群登入的解決方案,隻需要登入一次就可以通路所有互相信任的應用系統。
登陸業務設計
實作原理說明:
- 獨立的認證中心,其他系統不提供登入入口,隻接受認證中心的間接授權
- 間接授權通過令牌實作,sso認證中心驗證,建立授權令牌, 子系統拿到令牌,即得到了授權,可以借此建立局部會話,局部會話登入方式與單系統的登入方式相同。
業務部分跳轉到老師筆記: