溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

單點登錄與權限管理本質:單點登錄介紹

發布時間:2020-07-08 11:47:23 來源:網絡 閱讀:808 作者:情情說 欄目:開發技術

繼續介紹「單點登錄與權限管理」系列的第一部分:單點登錄與權限管理本質,前兩篇介紹了session與cookie 和 HTTP重定向 ,有了他們,瀏覽器就可以在多個系統間自動交互,實現自動登錄。

本篇介紹下單點登錄,所謂單點登錄,就是說用戶只需在一個地方登錄,訪問其他相關系統時,不需要重復登錄,隱式地自動登錄,這樣體驗會比較好。

主要從以下幾個方面介紹:

  • 一個常見的交互流程
  • 常見單點登錄協議
  • 關鍵問題總結
一個常見的交互流程

我們項目中,使用CAS協議實現單點登錄,下面就以項目中的實現為例,先來看下其交互流程,對其實現有個基本的了解。

有2個系統,系統A是「客服工作臺」,主要給客服使用,可實時與來訪用戶及時聊天,解答用戶的問題。系統B是「工單系統」,對于不能解答的問題,客服會創建一個工單,更高級別或相關度高的人會看到工單進行處理。

客服希望在登錄系統A后,不需要手動登錄系統B,需要一個「單點登錄服務」,提供一個統一的登錄驗證,協調系統A、系統B的自動登錄,定義該服務為服務S,其CAS協議的場景的流程如下:

單點登錄與權限管理本質:單點登錄介紹

花了不少時間畫上面的圖,看著比較復雜,其實還好,希望大家花時間看下,如果前兩篇文章真正理解了,這塊就相對簡單了。

重點總結下該流程:

  • 黑圓圈紅字,標識cookie的生成和使用,ABCDE表示5個cookie,1表示生成,2表示使用;
  • 無論是系統A,還是系統B,如果沒有jessionid cookie,都會跳轉到服務S,如果攜帶了cookie1(登錄成功后生成的cookie),不需要登錄,會自動登錄,如果沒有攜帶cookie1,會跳轉到登錄頁面,登錄成功后會設置cookie1。
  • cookie1是保持瀏覽器和服務S的,表示用戶已經登錄過了;
  • cookie2、cookie4都是臨時cookie,主要是將服務碼帶到系統A或系統B,拿到服務碼后,通過后端請求服務S進行驗證,驗證過后,臨時cookie就失效了,主要是為了安全考慮。
  • cookie3、cookie5和我們正常登錄產生的jessionid一樣,是各個子系統獨有的cookie;

如果還有疑問,可在下面留言,我會第一時間回復。

常見單點登錄協議

上面介紹的是CAS協議的一種,還有其他協議可實現單點登錄,比如CAS官網列舉的協議:
單點登錄與權限管理本質:單點登錄介紹

這些協議有不同的適用場景,比如好多網站都支持使用QQ、微信、微博直接登錄,只要你的QQ、微信、微博登錄者,就不用重復登錄,使用OAuth協議可比較好的實現這種場景。

后面會單獨介紹這些協議。

關鍵問題總結

無論是哪一種協議,都需要一個中間系統,對驗證和授權進行統一管理。另外,cookie的管理和安全問題需要重點考慮。

后面一篇會介紹下可能存在哪些安全問題,而對于安全問題如何解決,cookie和session具體如何管理,會在介紹每個具體協議的時候重點說明。

單點登錄與權限管理本質:單點登錄介紹

向AI問一下細節

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

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女