真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

【權(quán)限設(shè)計系列】「認(rèn)證授權(quán)專題」微服務(wù)常見安全認(rèn)證方案-創(chuàng)新互聯(lián)

HTTP 基本認(rèn)證

HTTP Basic Authentication(HTTP 基本認(rèn)證)是 HTTP 1.0 提出的一種認(rèn)證機(jī)制,這個想必大家都很熟悉了,不再贅述。

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),拉薩企業(yè)網(wǎng)站建設(shè),拉薩品牌網(wǎng)站建設(shè),網(wǎng)站定制,拉薩網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,拉薩網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。HTTP 基本認(rèn)證的過程如下
  1. 客戶端發(fā)送HTTP Request給服務(wù)器。
  2. 因為Request中沒有包含 Authorization header,服務(wù)器會返回一個 401 Unauthozied 給客戶端,并且在 Response 的 Header “WWW-Authenticate” 中添加信息。
  3. 客戶端把用戶名和密碼用BASE64加密后,放在Authorization Header中發(fā)送給服務(wù)器, 認(rèn)證成功。
  4. 服務(wù)器將Authorization Header中的用戶名密碼取出,進(jìn)行驗證,如果驗證通過,將根據(jù)請求,發(fā)送資源給客戶端。
基于 Session 的認(rèn)證

基于Session的認(rèn)證應(yīng)該是最常用的一種認(rèn)證機(jī)制了。用戶登錄認(rèn)證成功后,將用戶相關(guān)數(shù)據(jù)存儲到Session中。

  • 單體應(yīng)用架構(gòu),默認(rèn)Session會存儲在應(yīng)用服務(wù)器中,并且將 Session ID 返回到客戶端,存儲在瀏覽器的Cookie中。

  • 分布式的架構(gòu),Session 存放于某個具體的應(yīng)用服務(wù)器中自然就無法滿足使用了,簡單的可以通過 Session 復(fù)制或者 Session 粘制的方案來解決。

Session的復(fù)制機(jī)制

Session 復(fù)制依賴于應(yīng)用服務(wù)器,需要應(yīng)用服務(wù)器有 Session 復(fù)制能力,不過現(xiàn)在大部分應(yīng)用服務(wù)器如 Tomcat、JBoss、WebSphere 等都已經(jīng)提供了這個能力。除此之外,Session 復(fù)制的一大缺陷在于當(dāng)節(jié)點數(shù)比較多時,大量的 Session 數(shù)據(jù)復(fù)制會占用較多網(wǎng)絡(luò)資源。

Session 粘滯是通過負(fù)載均衡器,將統(tǒng)一用戶的請求都分發(fā)到固定的服務(wù)器節(jié)點上,這樣就保證了對某一用戶而言,Session 數(shù)據(jù)始終是正確的。

不過這種方案依賴于負(fù)載均衡器,并且只能滿足水平擴(kuò)展的集群場景,無法滿足應(yīng)用分割后的分布式場景。

微服務(wù)架構(gòu)的認(rèn)證能力

在微服務(wù)架構(gòu)下,每個微服務(wù)拆分的粒度會很細(xì),并且不只有用戶和微服務(wù)打交道,更多還有微服務(wù)間的調(diào)用。這個時候上述兩個方案都無法滿足,就要求必須要將 Session 從應(yīng)用服務(wù)器中剝離出來,存放在外部進(jìn)行集中管理??梢允菙?shù)據(jù)庫,也可以是分布式緩存,如 Memchached、Redis 等。這正是 David Borsos 建議的第二種方案,分布式 Session 方案。

基于 Token 的認(rèn)證

隨著 Restful API、微服務(wù)的興起,基于 Token 的認(rèn)證現(xiàn)在已經(jīng)越來越普遍。Token 和 Session ID 不同,并非只是一個 key。

Token 一般會包含用戶的相關(guān)信息,通過驗證 Token 就可以完成身份校驗。像 Twitter、微信、QQ、GitHub 等公有服務(wù)的 API 都是基于這種方式進(jìn)行認(rèn)證的,一些開發(fā)框架如 OpenStack、Kubernetes 內(nèi)部 API 調(diào)用也是基于 Token 的認(rèn)證?;?Token 認(rèn)證的一個典型流程如下:

用戶輸入登錄信息(或者調(diào)用 Token 接口,傳入用戶信息),發(fā)送到身份認(rèn)證服務(wù)進(jìn)行認(rèn)證(身份認(rèn)證服務(wù)可以和服務(wù)端在一起,也可以分離,看微服務(wù)拆分情況了)。

  1. 身份驗證服務(wù)驗證登錄信息是否正確,返回接口(一般接口中會包含用戶基礎(chǔ)信息、權(quán)限范圍、有效時間等信息),客戶端存儲接口,可以存儲在 Session 或者數(shù)據(jù)庫中。

  2. 用戶將Token放在 HTTP 請求頭中,發(fā)起相關(guān) API 調(diào)用。

  3. 被調(diào)用的微服務(wù),驗證 Token 權(quán)限。

  4. 服務(wù)端返回相關(guān)資源和數(shù)據(jù)。

基于 Token 認(rèn)證的好處如下
  • 服務(wù)端無狀態(tài):Token 機(jī)制在服務(wù)端不需要存儲 session 信息,因為 Token 自身包含了所有用戶的相關(guān)信息。

  • 性能較好,因為在驗證 Token 時不用再去訪問數(shù)據(jù)庫或者遠(yuǎn)程服務(wù)進(jìn)行權(quán)限校驗,自然可以提升不少性能。

  • 支持移動設(shè)備。

  • 支持跨程序調(diào)用,Cookie 是不允許垮域訪問的,而 Token 則不存在這個問題。

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧


網(wǎng)站名稱:【權(quán)限設(shè)計系列】「認(rèn)證授權(quán)專題」微服務(wù)常見安全認(rèn)證方案-創(chuàng)新互聯(lián)
文章起源:http://weahome.cn/article/ceppcg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部