1、最簡單的用戶系統
一個最簡單的用戶系統,只需要有用戶和身份驗證兩個模塊就夠了,如圖:

這里提示一下:上層資料依賴下層資料,舉個栗子,就是身份驗證需要依賴用戶資料,
2、具有權限管理的用戶系統
如果需要進行權限管理的話,那么就加上資源和角色模塊,同時,在身份認證之后需要按需進行鑒權,
資源和用戶都是最底層的資料,角色需要關聯用戶和資源完成對用戶的授權,了解RBAC模型的,應該很清楚這種關系,

3、帶有用戶組、組織機構的復雜系統
如果我們需要有用戶組輔助用戶管理,或者系統中需要有組織機構,并且支持對職位進行授權操作的話,我們可以再添加用戶組和組織機構模塊,這兩個模塊可以和用戶建立多對多的關系,同時,角色就可以通過和用戶組、組織機構和用戶建立間接的關系,這樣就可以簡化授權操作,

4、一個多租戶平臺
很多時候,我們需要有租戶的概念,使用租戶來分開用戶的業務資料,譬如釘釘就是一個多租戶系統,每家企業在釘釘里面都是一個租戶,
我們可以在用戶之上增加租戶模塊,讓租戶和用戶、資源(應用)建立多對多的關系,同時,用戶組、組織機構和角色就都可以按租戶進行區分了,

假設每個租戶都有「管理員」這個角色,那么1萬個租戶在系統里面就會有1萬個名字叫管理員的角色,只不過每個租戶都只能看到自己的那個「管理員」角色罷了,如果A租戶建立了一個「業務員」角色,那么B租戶是沒有這個角色的,他想要的話,必須自己去建立一個,
最后
在第4張圖里面,用戶組、組織機構和租戶這幾個模塊都是可選的,模塊之間不應該存在耦合關系,只存在資料依賴關系,你需要什么就實作什么,并不需要一開始就全部實作,
看懂的請點個贊,以便讓更多的人看到,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/8427.html
標籤:架構設計
上一篇:服務的容災與容錯
