繼續介紹「單點登錄與權限管理」系列的第一部分:單點登錄與權限管理本質,前兩篇介紹了session與cookie 和 HTTP重定向 ,有了他們,瀏覽器就可以在多個系統間自動交互,實現自動登錄。
本篇介紹下單點登錄,所謂單點登錄,就是說用戶只需在一個地方登錄,訪問其他相關系統時,不需要重復登錄,隱式地自動登錄,這樣體驗會比較好。
主要從以下幾個方面介紹:
我們項目中,使用CAS協議實現單點登錄,下面就以項目中的實現為例,先來看下其交互流程,對其實現有個基本的了解。
有2個系統,系統A是「客服工作臺」,主要給客服使用,可實時與來訪用戶及時聊天,解答用戶的問題。系統B是「工單系統」,對于不能解答的問題,客服會創建一個工單,更高級別或相關度高的人會看到工單進行處理。
客服希望在登錄系統A后,不需要手動登錄系統B,需要一個「單點登錄服務」,提供一個統一的登錄驗證,協調系統A、系統B的自動登錄,定義該服務為服務S,其CAS協議的場景的流程如下:

花了不少時間畫上面的圖,看著比較復雜,其實還好,希望大家花時間看下,如果前兩篇文章真正理解了,這塊就相對簡單了。
重點總結下該流程:
如果還有疑問,可在下面留言,我會第一時間回復。
上面介紹的是CAS協議的一種,還有其他協議可實現單點登錄,比如CAS官網列舉的協議:
這些協議有不同的適用場景,比如好多網站都支持使用QQ、微信、微博直接登錄,只要你的QQ、微信、微博登錄者,就不用重復登錄,使用OAuth協議可比較好的實現這種場景。
后面會單獨介紹這些協議。
無論是哪一種協議,都需要一個中間系統,對驗證和授權進行統一管理。另外,cookie的管理和安全問題需要重點考慮。
后面一篇會介紹下可能存在哪些安全問題,而對于安全問題如何解決,cookie和session具體如何管理,會在介紹每個具體協議的時候重點說明。

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。