單點(diǎn)登錄

單點(diǎn)登錄

單點(diǎn)登錄即SSO(Single Sign-On),是一種統(tǒng)一認(rèn)證和授權(quán)機(jī)制,指訪問同一服務(wù)器不同應(yīng)用中的受保護(hù)資源的同一用戶,只需要登錄一次,即通過一個(gè)應(yīng)用中的安全驗(yàn)證后,再訪問其他應(yīng)用中的受保護(hù)資源時(shí),不需要重新登錄驗(yàn)證。

單點(diǎn)登錄解決了什么問題

解決用戶只需要登錄偶一次就可以訪問所有相互信任的應(yīng)用系統(tǒng),而不用重復(fù)登錄。

單點(diǎn)登錄的技術(shù)實(shí)現(xiàn)機(jī)制

alt

當(dāng)用戶第一次訪問應(yīng)用系統(tǒng)1的時(shí)候,因?yàn)檫€沒有登錄,會(huì)被引導(dǎo)到認(rèn)證系統(tǒng)中進(jìn)行登錄;根據(jù)用戶提供的登錄信息,認(rèn)證系統(tǒng)進(jìn)行身份校驗(yàn),如果通過校驗(yàn),應(yīng)用返回給用戶一個(gè)認(rèn)證的憑據(jù)--ticket;用戶再訪問別的應(yīng)用的時(shí)候,就會(huì)將這個(gè)ticket帶上,作為自己認(rèn)證的憑據(jù),應(yīng)用系統(tǒng)接受到請(qǐng)求之后會(huì)把ticket總到認(rèn)證系統(tǒng)進(jìn)行校驗(yàn),檢查ticket的合法性(4,6)。如果通過校驗(yàn),用戶接可以在不用再次得了的情況下訪問應(yīng)用系統(tǒng)2和應(yīng)用系統(tǒng)3了。

從上圖可以看出SSO的實(shí)現(xiàn)技術(shù)點(diǎn):

  • 所有應(yīng)用系統(tǒng)共享一個(gè)身份驗(yàn)證系統(tǒng)
    統(tǒng)一的認(rèn)證系統(tǒng)是SSO對(duì)的前提之一。認(rèn)證系統(tǒng)的主要功能是將用戶的登錄信息和用戶信息庫相比較,對(duì)用戶進(jìn)行登錄認(rèn)證;認(rèn)證成功后,認(rèn)證系統(tǒng)應(yīng)該生成統(tǒng)一的認(rèn)證標(biāo)志(ticket),返還給用戶。另外,認(rèn)證系統(tǒng)還應(yīng)該對(duì)ticket進(jìn)行校驗(yàn),判斷其有效性。

  • 所有應(yīng)用系統(tǒng)能夠識(shí)別和提取ticket信息
    要實(shí)現(xiàn)SSO的功能,讓用戶只登錄一次,就必須讓應(yīng)用系統(tǒng)能夠識(shí)別已經(jīng)登錄過的用戶。應(yīng)用系統(tǒng)應(yīng)該能對(duì)ticket進(jìn)行識(shí)別和提取,通過與認(rèn)證系統(tǒng)的通訊,能自動(dòng)判斷當(dāng)前用戶是否登錄過,從而完成單點(diǎn)登錄的功能。

關(guān)于統(tǒng)一身份驗(yàn)證機(jī)制,如下圖:

alt

①用戶請(qǐng)求訪問業(yè)務(wù)系統(tǒng)。
②業(yè)務(wù)系統(tǒng)在系統(tǒng)中查看是否有對(duì)應(yīng)請(qǐng)求的有效令牌,若有,則讀取對(duì)應(yīng)的身份信息,允許其訪問;若沒有或令牌無效,則把用戶重定向到統(tǒng)一身份認(rèn)證平臺(tái),并攜帶業(yè)務(wù)系統(tǒng)地址,進(jìn)入第③步。
③在統(tǒng)一身份認(rèn)證平臺(tái)提供的頁面中,用戶輸入身份憑證信息,平臺(tái)驗(yàn)證此身份憑證信息,若有效,則生成一個(gè)有效的令牌給用戶,進(jìn)入第④步;若無效,則繼續(xù)進(jìn)行認(rèn)證,直到認(rèn)證成功或退出為止。
④用戶攜帶第③步獲取的令牌,再次訪問業(yè)務(wù)系統(tǒng)。
⑤業(yè)務(wù)系統(tǒng)獲取用戶攜帶的令牌,提交到認(rèn)證平臺(tái)進(jìn)行有效性檢查和身份信息獲取。

⑥若令牌通過有效性檢查,則認(rèn)證平臺(tái)會(huì)把令牌對(duì)應(yīng)的用戶身份信息返回給業(yè)務(wù)系統(tǒng),業(yè)務(wù)系統(tǒng)把身份信息和有效令牌寫入會(huì)話狀態(tài)中,允許用戶以此身份信息進(jìn)行業(yè)務(wù)系統(tǒng)的各種操作;若令牌未通過有效性檢查,則會(huì)再次重定向到認(rèn)證平臺(tái),返回第③步。

通過統(tǒng)一身份認(rèn)證平臺(tái)獲取的有效令牌,可以在各個(gè)業(yè)務(wù)系統(tǒng)之間實(shí)現(xiàn)應(yīng)用漫游。

單點(diǎn)登錄的優(yōu)點(diǎn)

  • 提高用戶效率
    用戶不再被多次登錄困擾,也不需要記住ID和密碼。另外,用戶忘記密碼并求助于支持人員的情況也會(huì)減少。

  • 提高開發(fā)人員的效率
    SSO 為開發(fā)人員提供了一個(gè)通用的身份驗(yàn)證框架。實(shí)際上,如果SSO機(jī)制是獨(dú)立的,那么開發(fā)人員就完全不需要為身份驗(yàn)證操心。他們可以假設(shè),只要對(duì)應(yīng)用程序的請(qǐng)求附帶一個(gè)用戶名,身份驗(yàn)證就已經(jīng)完成了。

  • 簡(jiǎn)化管理
    如果應(yīng)用程序加入了單點(diǎn)登錄協(xié)議,管理用戶賬號(hào)的負(fù)擔(dān)就會(huì)減輕。簡(jiǎn)化的程度取決于應(yīng)用程序,因?yàn)镾SO只處理身份驗(yàn)證。所以,應(yīng)用程序可能仍然需要設(shè)置用戶的屬性(比如訪問特權(quán))。

單點(diǎn)登錄的缺點(diǎn)

  • 不利于重構(gòu)
    因?yàn)樯婕暗南到y(tǒng)很多,要重構(gòu)必須要兼容所有的系統(tǒng),可能很耗時(shí)

  • 無人看守桌面

因?yàn)橹恍枰卿浺淮危械氖跈?quán)的應(yīng)用系統(tǒng)都可以訪問,可能導(dǎo)致一些很重要的信息泄露。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,517評(píng)論 6 539
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,087評(píng)論 3 423
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,521評(píng)論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,493評(píng)論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,207評(píng)論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,603評(píng)論 1 325
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,624評(píng)論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,813評(píng)論 0 289
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,364評(píng)論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,110評(píng)論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,305評(píng)論 1 371
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,874評(píng)論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,532評(píng)論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,953評(píng)論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,209評(píng)論 1 291
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 52,033評(píng)論 3 396
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,268評(píng)論 2 375

推薦閱讀更多精彩內(nèi)容