溫馨提示×

溫馨提示×

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

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

什么是單點登錄

發(fā)布時間:2021-11-01 09:57:28 來源:億速云 閱讀:142 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要講解了“什么是單點登錄”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“什么是單點登錄”吧!

  單點登錄(SingleSignOn),簡稱為SSO,是比較流行的企業(yè)業(yè)務(wù)整合的解決方案之一。SSO的定義是在多個應(yīng)用系統(tǒng)中,用戶只需要登錄一次就可以訪問所有相互信任的應(yīng)用系統(tǒng)。

  單點登錄概述

  很早期的公司,一家公司可能只有一個Server,慢慢的Server開始變多了。每個Server都要進行注冊登錄,退出的時候又要一個個退出。用戶體驗很不好!你可以想象一下,上豆瓣要登錄豆瓣FM、豆瓣讀書、豆瓣電影、豆瓣日記......真的會讓人崩潰的。我們想要另一種登錄體驗:一家企業(yè)下的服務(wù)只要一次注冊,登錄的時候只要一次登錄,退出的時候只要一次退出。怎么做?

  一次注冊。一次注冊不難,想一下是不是只要Server之間同步用戶信息就行了?可以,但這樣描述不太完整,后續(xù)講用戶注冊的時候詳細說。實際上用戶信息的管理才是SSO真正的難點,只是作為初學(xué)者,我們的難點在于實現(xiàn)SSO的技術(shù)!我們先討論實現(xiàn)手段。

  一次登錄與一次退出?;仡^看看普通商場的故事,什么東西才是保持登錄狀態(tài)關(guān)鍵的東西?記錄器(session)?那種叫做cookie的紙張?寫在紙張上的ID?是session里面記錄的信息跟那個ID,cookie不只是記錄ID的工具而已??蛻舳顺钟蠭D,服務(wù)端持有session,兩者一起用來保持登錄狀態(tài)??蛻舳诵枰肐D來作為憑證,而服務(wù)端需要用session來驗證ID的有效性(ID可能過期、可能根本就是偽造的找不到對應(yīng)的信息、ID下對應(yīng)的客戶端還沒有進行登錄驗證等)。但是session這東西一開始是每個server自己獨有的,豆瓣FM有自己的session、豆瓣讀書有自己的session,而記錄ID的cookie又是不能跨域的。所以,我們要實現(xiàn)一次登錄一次退出,只需要想辦法讓各個server的共用一個session的信息,讓客戶端在各個域名下都能持有這個ID就好了。再進一步講,只要各個server拿到同一個ID,都能有辦法檢驗出ID的有效性、并且能得到ID對應(yīng)的用戶信息就行了,也就是能檢驗ID[1]。

  單點登錄實現(xiàn)方法

  server端

  以server群如何生成、驗證ID的方式:

  “共享Cookie”這個就是上面提到的共享session的方式,我倒覺得叫“共享session”來得好一點,本質(zhì)上cookie只是存儲session-id的介質(zhì),session-id也可以放在每一次請求的url里。據(jù)說這種方式不安全,我沒去細究,哪位大神可以推薦下相關(guān)的資料,我后期補上。其實也是,畢竟session這項機制一開始就是一個server一個session的,把session拿出來讓所有server共享確實有點奇怪。

感謝各位的閱讀,以上就是“什么是單點登錄”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對什么是單點登錄這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

sso
AI