微服務實踐分享 7 認證授權中心

2021-09-07 19:00:32 字數 848 閱讀 8926

認證機制:

ldap - sql - jwt - mongodb - couchdb - ip address - kerberos (spnego) - rest api

1.四種方案

單點登入(sso)

這種方案意味著每個面向使用者的服務都必須與認證服務互動,這會產生大量非常瑣碎的網路流量和重複的工作,當動輒數十個微應用時,這種方案的弊端會更加明顯。

分布式 session 方案

分布式會話方案原理主要是將關於使用者認證的資訊儲存在共享儲存中,且通常由使用者會話作為 key 來實現的簡單分布式雜湊對映。當使用者訪問微服務時,使用者資料可以從共享儲存中獲取。在某些場景下,這種方案很不錯,使用者登入狀態是不透明的。同時也是乙個高可用且可擴充套件的解決方案。這種方案的缺點在於共享儲存需要一定保護機制,因此需要通過安全鏈結來訪問,這時解決方案的實現就通常具有相當高的複雜性了。

客戶端 token 方案

令牌在客戶端生成,由身份驗證服務進行簽名,並且必須包含足夠的資訊,以便可以在所有微服務中建立使用者身份。令牌會附加到每個請求上,為微服務提供使用者身份驗證,這種解決方案的安全性相對較好,但身份驗證登出是乙個大問題,緩解這種情況的方法可以使用短期令牌和頻繁檢查認證服務等。對於客戶端令牌的編碼方案,borsos 更喜歡使用 json web tokens(jwt),它足夠簡單且庫支援程度也比較好。

客戶端 token 與 api 閘道器結合

2.開源

3.業界

微服務實踐歷程

微服務概念的出現已經有很多年了,有多少公司在真正使用微服務,今天就把我這幾年對微服務的一點感受和大家分享下 首先,在系統建立之初,有乙個問題,到底要不要按照微服務的架構來開始專案?這個時候如果我們是接觸的乙個比較熟悉的行業 熟悉的業務,或者說業務架構師對這一行比較了解,那麼可以考慮進行微服務的設計,...

微服務實踐 什麼是微服務

微服務是一種軟體架構風格,該詞 於martin fowler 的一篇部落格。他在自己部落格中闡述了微服務六個特點 創業初期 很快完成後,找了家雲服務部署上線,開始了創業之路。規模擴大 這一階段存在著很多不合理的地方 做出改變 在程式設計的世界裡,最重要的是抽象能力,通過整理業務邏輯,抽象初公共的業務...

Abp vNext微服務實踐 服務通訊

服務通訊是微服務架構中必不可少的功能,服務通訊的效率決定了微服務架構的優略。常用的微服務通訊策略有兩種,分別是rpc http,其中rpc以grpc框架為代表使用者最多。abp vnext微服務架構中當然也有服務通訊策略,採用的是http方式進行服務通訊。雖然grpc高效安全,但是相關的.net框架...