創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!
創(chuàng)新互聯(lián)專注于企業(yè)成都全網(wǎng)營(yíng)銷、網(wǎng)站重做改版、耒陽網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5響應(yīng)式網(wǎng)站、商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為耒陽等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。單點(diǎn)登錄的意思是什么?相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
單點(diǎn)登錄SSO是指在多個(gè)應(yīng)用系統(tǒng)中,用戶只需要登錄一次就可以訪問所有相互信任的應(yīng)用系統(tǒng),是企業(yè)業(yè)務(wù)整合的解決方案之一,其優(yōu)點(diǎn):1、提高用戶的效率;2、提高開發(fā)人員的效率;3、簡(jiǎn)化管理。
很早期的公司,一家公司可能只有一個(gè)Server,慢慢的Server開始變多了。每個(gè)Server都要進(jìn)行注冊(cè)登錄,退出的時(shí)候又要一個(gè)個(gè)退出。用戶體驗(yàn)很不好!你可以想象一下,上豆瓣 要登錄豆瓣FM、豆瓣讀書、豆瓣電影、豆瓣日記......真的會(huì)讓人崩潰的。我們想要另一種登錄體驗(yàn):一家企業(yè)下的服務(wù)只要一次注冊(cè),登錄的時(shí)候只要一次登錄,退出的時(shí)候只要一次退出。怎么做?
一次注冊(cè)。 一次注冊(cè)不難,想一下是不是只要Server之間同步用戶信息就行了?可以,但這樣描述不太完整,后續(xù)講用戶注冊(cè)的時(shí)候詳細(xì)說。實(shí)際上用戶信息的管理才是SSO真正的難點(diǎn),只是作為初學(xué)者,我們的難點(diǎn)在于實(shí)現(xiàn)SSO的技術(shù)!我們先討論實(shí)現(xiàn)手段。
一次登錄與一次退出。 回頭看看普通商場(chǎng)的故事,什么東西才是保持登錄狀態(tài)關(guān)鍵的東西?記錄器(session)?那種叫做cookie的紙張?寫在紙張上的ID? 是session里面記錄的信息跟那個(gè)ID,cookie不只是記錄ID的工具而已??蛻舳顺钟蠭D,服務(wù)端持有session,兩者一起用來保持登錄狀態(tài)??蛻舳诵枰肐D來作為憑證,而服務(wù)端需要用session來驗(yàn)證ID的有效性(ID可能過期、可能根本就是偽造的找不到對(duì)應(yīng)的信息、ID下對(duì)應(yīng)的客戶端還沒有進(jìn)行登錄驗(yàn)證等)。但是session這東西一開始是每個(gè)server自己獨(dú)有的,豆瓣FM有自己的session、豆瓣讀書有自己的session,而記錄ID的cookie又是不能跨域的。所以,我們要實(shí)現(xiàn)一次登錄一次退出,只需要想辦法讓各個(gè)server的共用一個(gè)session的信息,讓客戶端在各個(gè)域名下都能持有這個(gè)ID就好了。再進(jìn)一步講,只要各個(gè)server拿到同一個(gè)ID,都能有辦法檢驗(yàn)出ID的有效性、并且能得到ID對(duì)應(yīng)的用戶信息就行了,也就是能檢驗(yàn)ID;
單點(diǎn)登錄實(shí)現(xiàn)方法
server端
以server群如何生成、驗(yàn)證ID的方式大致分為兩種:
“共享Cookie”這個(gè)就是上面提到的共享session的方式,我倒覺得叫“共享session”來得好一點(diǎn),本質(zhì)上cookie只是存儲(chǔ)session-id的介質(zhì),session-id也可以放在每一次請(qǐng)求的url里。據(jù)說這種方式不安全,我沒去細(xì)究,哪位大神可以推薦下相關(guān)的資料,我后期補(bǔ)上。其實(shí)也是,畢竟session這項(xiàng)機(jī)制一開始就是一個(gè)server一個(gè)session的,把session拿出來讓所有server共享確實(shí)有點(diǎn)奇怪。
SSO-Token方式因?yàn)楣蚕韘ession的方式不安全,所以我們不再以session-id作為身份的標(biāo)識(shí)。我們另外生成一種標(biāo)識(shí),把它取名SSO-Token(或Ticket),這種標(biāo)識(shí)是整個(gè)server群唯一的,并且所有server群都能驗(yàn)證這個(gè)token,同時(shí)能拿到token背后代表的用戶的信息。我們要討論的也是這種方式,一會(huì)上具體流程圖。
瀏覽器端
單點(diǎn)登錄還有非常關(guān)鍵的一步,這一步跟server端驗(yàn)證token的方式無關(guān),用最早的“共享session”的方式還是現(xiàn)在的“token”方式,身份標(biāo)識(shí)到了瀏覽器端都要面臨這樣的一個(gè)問題:用戶登錄成功拿到token(或者是session-id)后怎么讓瀏覽器存儲(chǔ)和分享到其它域名下?同域名很簡(jiǎn)單,把token存在cookie里,把cookie的路徑設(shè)置成頂級(jí)域名下,這樣所有子域都能讀取cookie中的token。這就是共享cookie的方式(這才叫共享Cookie嘛,上面那個(gè)應(yīng)該叫共享session)。比如:谷歌公司,google.com是他的頂級(jí)域名,郵箱服務(wù)的mail.google.com和地圖服務(wù)的map.google.com都是它的子域。但是,跨域的時(shí)候怎么辦?谷歌公司還有一個(gè)域名,youtube.com,提供視頻服務(wù) 。
看完上述內(nèi)容,你們掌握單點(diǎn)登錄的意思是什么的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!
當(dāng)前名稱:單點(diǎn)登錄的意思是什么-創(chuàng)新互聯(lián)
文章地址:http://aaarwkj.com/article10/cccdgo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、域名注冊(cè)、靜態(tài)網(wǎng)站、網(wǎng)頁設(shè)計(jì)公司、電子商務(wù)、營(yíng)銷型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容