亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

單點(diǎn)登錄SSO

系統(tǒng) 2074 0

一、什么是單點(diǎn)登錄SSO(Single Sign-On)

  SSO是一種統(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ī)制

  如下圖所示:

單點(diǎn)登錄SSO

    當(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):

  1)所有應(yīng)用系統(tǒng)共享 一個(gè)身份認(rèn)證系統(tǒng)

    統(tǒng)一的認(rèn)證系統(tǒng)是SSO的前提之一。認(rèn)證系統(tǒng)的主要功能是將用戶的登錄信息和用戶信息庫(kù)相比較,對(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),判斷其有效性。

  2)所有應(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)一身份認(rèn)證機(jī)制 :如下圖

單點(diǎn)登錄SSO

  ? ①用戶請(qǐng)求訪問業(yè)務(wù)系統(tǒng)。

  ②業(yè)務(wù)系統(tǒng)在系統(tǒng)中查看是否有對(duì)應(yīng)請(qǐng)求的有效令牌,若有,則讀取對(duì)應(yīng)的身份信息,允許其訪問;若沒有或令牌無(wú)效,則把用戶重定向到統(tǒng)一身份認(rèn)證平臺(tái),并攜帶業(yè)務(wù)系統(tǒng)地址,進(jìn)入第③步。

  ③在統(tǒng)一身份認(rèn)證平臺(tái)提供的頁(yè)面中,用戶輸入身份憑證信息,平臺(tái)驗(yàn)證此身份憑證信息,若有效,則生成一個(gè)有效的令牌給用戶,進(jìn)入第④步;若無(wú)效,則繼續(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)

  1)提高用戶的效率。

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

  2)提高開發(fā)人員的效率。

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

  3)簡(jiǎn)化管理。

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

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

  1)不利于重構(gòu)

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

  2) 無(wú)人看守桌面

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

==========================================================================

單點(diǎn)登錄SSO(Single Sign On)說(shuō)得簡(jiǎn)單點(diǎn)就是在一個(gè)多系統(tǒng)共存的環(huán)境下,用戶在一處登錄后,就不用在其他系統(tǒng)中登錄,也就是用戶的一次登錄能得到其他所有系統(tǒng)的信任。單點(diǎn)登錄在大型網(wǎng)站里使用得非常頻繁,例如像阿里巴巴這樣的網(wǎng)站,在網(wǎng)站的背后是成百上千的子系統(tǒng),用戶一次操作或交易可能涉及到幾十個(gè)子系統(tǒng)的協(xié)作,如果每個(gè)子系統(tǒng)都需要用戶認(rèn)證,不僅用戶會(huì)瘋掉,各子系統(tǒng)也會(huì)為這種重復(fù)認(rèn)證授權(quán)的邏輯搞瘋掉。實(shí)現(xiàn)單點(diǎn)登錄說(shuō)到底就是要解決如何產(chǎn)生和存儲(chǔ)那個(gè)信任,再就是其他系統(tǒng)如何驗(yàn)證這個(gè)信任的有效性,因此要點(diǎn)也就以下幾個(gè):

  • 存儲(chǔ)信任
  • 驗(yàn)證信任

只要解決了以上的問題,達(dá)到了開頭講得效果就可以說(shuō)是SSO。最簡(jiǎn)單實(shí)現(xiàn)SSO的方法就是用Cookie,實(shí)現(xiàn)流程如下所示:

單點(diǎn)登錄SSO

不然發(fā)現(xiàn)以上的方案是把信任存儲(chǔ)在客戶端的Cookie里,這種方法雖然實(shí)現(xiàn)方便但立馬會(huì)讓人質(zhì)疑兩個(gè)問題:

  • Cookie不安全
  • 不能跨域免登

對(duì)于第一個(gè)問題一般都是通過加密Cookie來(lái)處理,第二個(gè)問題是硬傷,其實(shí)這種方案的思路的就是要把這個(gè)信任關(guān)系存儲(chǔ)在客戶端,要實(shí)現(xiàn)這個(gè)也不一定只能用Cookie,用flash也能解決,flash的Shared Object API就提供了存儲(chǔ)能力。

一般說(shuō)來(lái),大型系統(tǒng)會(huì)采取在服務(wù)端存儲(chǔ)信任關(guān)系的做法,實(shí)現(xiàn)流程如下所示:

單點(diǎn)登錄SSO

以上方案就是要把信任關(guān)系存儲(chǔ)在單獨(dú)的SSO系統(tǒng)(暫且這么稱呼它)里,說(shuō)起來(lái)只是簡(jiǎn)單地從客戶端移到了服務(wù)端,但其中幾個(gè)問題需要重點(diǎn)解決:

  • 如何高效存儲(chǔ)大量臨時(shí)性的信任數(shù)據(jù)
  • 如何防止信息傳遞過程被篡改
  • 如何讓SSO系統(tǒng)信任登錄系統(tǒng)和免登系統(tǒng)

對(duì)于第一個(gè)問題,一般可以采用類似與memcached的分布式緩存的方案,既能提供可擴(kuò)展數(shù)據(jù)量的機(jī)制,也能提供高效訪問。對(duì)于第二個(gè)問題,一般采取數(shù)字簽名的方法,要么通過數(shù)字證書簽名,要么通過像md5的方式,這就需要SSO系統(tǒng)返回免登URL的時(shí)候?qū)π栩?yàn)證的參數(shù)進(jìn)行md5加密,并帶上token一起返回,最后需免登的系統(tǒng)進(jìn)行驗(yàn)證信任關(guān)系的時(shí)候,需把這個(gè)token傳給SSO系統(tǒng),SSO系統(tǒng)通過對(duì)token的驗(yàn)證就可以辨別信息是否被改過。對(duì)于最后一個(gè)問題,可以通過白名單來(lái)處理,說(shuō)簡(jiǎn)單點(diǎn)只有在白名單上的系統(tǒng)才能請(qǐng)求生產(chǎn)信任關(guān)系,同理只有在白名單上的系統(tǒng)才能被免登錄。

以上只是提供了些簡(jiǎn)單的實(shí)現(xiàn)技術(shù),但需要強(qiáng)調(diào)的是這只是技術(shù)實(shí)現(xiàn)而已,僅僅是為了解決上面談到的一些問題,SSO本身來(lái)說(shuō)并不是什么高科技,有了這個(gè)認(rèn)識(shí)比較有利于我們深入探索SSO

單點(diǎn)登錄SSO


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 一级片在线视频 | 久久夜色tv网站 | 在线观看视频一区 | 欧美一级毛片aaa片 欧美一级毛片不卡免费观看 | 亚洲免费毛片 | 四虎影视院| 九九99久久精品国产 | 欧美福利视频在线观看 | 国产高h| 三级a做爰大乳在线观看 | 欧美日韩亚洲无线码在线观看 | 日日射天天干 | 婷婷丝袜| 国产乱子伦一级毛片 | 综合亚洲色图 | 日本视频h| h片在线免费观看 | 俺来也欧美亚洲a∨在线 | 求毛片| 99ri国产 | 伊人365影院| 久久国产精品一区二区 | 久久久精品久久久久三级 | 深夜福利视频在线一区 | 国产一级黄色录像 | 综合久久精品 | 在线xxxx | 这里只有精品首页 | 波多野结衣中文字幕一区二区 | 99热久久国产这里有只有精品 | 久久久久久久久久综合情日本 | 色六月丁香 | 国产成人久久一区二区三区 | 欧美日韩黄色大片 | 久久福利资源站免费观看i 久久高清 | 成人影院在线观看视频 | 四虎影音在线观看 | 嫩草影院麻豆久久视频 | 114一级毛片免费观看 | 国内精自品线一区91 | 成年人精品视频 |