HTTP Basic Authentication(HTTP 基本認(rèn)證)是 HTTP 1.0 提出的一種認(rèn)證機(jī)制,這個(gè)想必大家都很熟悉了,不再贅述。
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),拉薩企業(yè)網(wǎng)站建設(shè),拉薩品牌網(wǎng)站建設(shè),網(wǎng)站定制,拉薩網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,拉薩網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。HTTP 基本認(rèn)證的過(guò)程如下基于Session的認(rèn)證應(yīng)該是最常用的一種認(rèn)證機(jī)制了。用戶登錄認(rèn)證成功后,將用戶相關(guān)數(shù)據(jù)存儲(chǔ)到Session中。
單體應(yīng)用架構(gòu),默認(rèn)Session會(huì)存儲(chǔ)在應(yīng)用服務(wù)器中,并且將 Session ID 返回到客戶端,存儲(chǔ)在瀏覽器的Cookie中。
分布式的架構(gòu),Session 存放于某個(gè)具體的應(yīng)用服務(wù)器中自然就無(wú)法滿足使用了,簡(jiǎn)單的可以通過(guò) Session 復(fù)制或者 Session 粘制的方案來(lái)解決。
Session 復(fù)制依賴于應(yīng)用服務(wù)器,需要應(yīng)用服務(wù)器有 Session 復(fù)制能力,不過(guò)現(xiàn)在大部分應(yīng)用服務(wù)器如 Tomcat、JBoss、WebSphere 等都已經(jīng)提供了這個(gè)能力。除此之外,Session 復(fù)制的一大缺陷在于當(dāng)節(jié)點(diǎn)數(shù)比較多時(shí),大量的 Session 數(shù)據(jù)復(fù)制會(huì)占用較多網(wǎng)絡(luò)資源。
Session 粘滯是通過(guò)負(fù)載均衡器,將統(tǒng)一用戶的請(qǐng)求都分發(fā)到固定的服務(wù)器節(jié)點(diǎn)上,這樣就保證了對(duì)某一用戶而言,Session 數(shù)據(jù)始終是正確的。
不過(guò)這種方案依賴于負(fù)載均衡器,并且只能滿足水平擴(kuò)展的集群場(chǎng)景,無(wú)法滿足應(yīng)用分割后的分布式場(chǎng)景。
微服務(wù)架構(gòu)的認(rèn)證能力在微服務(wù)架構(gòu)下,每個(gè)微服務(wù)拆分的粒度會(huì)很細(xì),并且不只有用戶和微服務(wù)打交道,更多還有微服務(wù)間的調(diào)用。這個(gè)時(shí)候上述兩個(gè)方案都無(wú)法滿足,就要求必須要將 Session 從應(yīng)用服務(wù)器中剝離出來(lái),存放在外部進(jìn)行集中管理??梢允菙?shù)據(jù)庫(kù),也可以是分布式緩存,如 Memchached、Redis 等。這正是 David Borsos 建議的第二種方案,分布式 Session 方案。
隨著 Restful API、微服務(wù)的興起,基于 Token 的認(rèn)證現(xiàn)在已經(jīng)越來(lái)越普遍。Token 和 Session ID 不同,并非只是一個(gè) key。
Token 一般會(huì)包含用戶的相關(guān)信息,通過(guò)驗(yàn)證 Token 就可以完成身份校驗(yàn)。像 Twitter、微信、QQ、GitHub 等公有服務(wù)的 API 都是基于這種方式進(jìn)行認(rèn)證的,一些開(kāi)發(fā)框架如 OpenStack、Kubernetes 內(nèi)部 API 調(diào)用也是基于 Token 的認(rèn)證?;?Token 認(rèn)證的一個(gè)典型流程如下:
用戶輸入登錄信息(或者調(diào)用 Token 接口,傳入用戶信息),發(fā)送到身份認(rèn)證服務(wù)進(jìn)行認(rèn)證(身份認(rèn)證服務(wù)可以和服務(wù)端在一起,也可以分離,看微服務(wù)拆分情況了)。
身份驗(yàn)證服務(wù)驗(yàn)證登錄信息是否正確,返回接口(一般接口中會(huì)包含用戶基礎(chǔ)信息、權(quán)限范圍、有效時(shí)間等信息),客戶端存儲(chǔ)接口,可以存儲(chǔ)在 Session 或者數(shù)據(jù)庫(kù)中。
用戶將Token放在 HTTP 請(qǐng)求頭中,發(fā)起相關(guān) API 調(diào)用。
被調(diào)用的微服務(wù),驗(yàn)證 Token 權(quán)限。
服務(wù)端返回相關(guān)資源和數(shù)據(jù)。
服務(wù)端無(wú)狀態(tài):Token 機(jī)制在服務(wù)端不需要存儲(chǔ) session 信息,因?yàn)?Token 自身包含了所有用戶的相關(guān)信息。
性能較好,因?yàn)樵隍?yàn)證 Token 時(shí)不用再去訪問(wèn)數(shù)據(jù)庫(kù)或者遠(yuǎn)程服務(wù)進(jìn)行權(quán)限校驗(yàn),自然可以提升不少性能。
支持移動(dòng)設(shè)備。
支持跨程序調(diào)用,Cookie 是不允許垮域訪問(wèn)的,而 Token 則不存在這個(gè)問(wèn)題。
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
本文題目:【權(quán)限設(shè)計(jì)系列】「認(rèn)證授權(quán)專題」微服務(wù)常見(jiàn)安全認(rèn)證方案-創(chuàng)新互聯(lián)
地址分享:http://chinadenli.net/article26/ceppcg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、云服務(wù)器、網(wǎng)站內(nèi)鏈、網(wǎng)站改版、網(wǎng)站排名、企業(yè)建站
聲明:本網(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í)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容