分布式權(quán)限管理系統(tǒng)-架構(gòu)篇

后臺管理系統(tǒng)也需要微服務化

痛點一:龐大的后臺管理系統(tǒng)

任何一個公司的系統(tǒng)總是免不了需要很多后臺功能,隨著業(yè)務的發(fā)展,營銷活動管理后臺,短信模板后臺,網(wǎng)站內(nèi)容管理后臺......最后會變成一個異常龐大而難以維護的系統(tǒng)。往往光菜單就有幾十上百個。每次修改跟新增一個簡單的功能都是一場災難。

痛點二:各自獨立的后臺管理系統(tǒng)

如果公司內(nèi)部有多條產(chǎn)品線,每個產(chǎn)品線都有自己的后臺,往往都各自維護著各自的后臺權(quán)限體系,這樣導致每個人要記住大量的賬號密碼。如果公司來了新領導,光開通賬號就要好幾天。

針對上述兩個問題,自然而然的會想到,我們首先需要把后臺管理系統(tǒng)拆成多個子系統(tǒng),但是我們不需要維護多套用戶與權(quán)限體系,此時我們需要一個單點登錄系統(tǒng)來解決問題。該系統(tǒng)應該提供統(tǒng)一的登錄與系統(tǒng)導航頁面,統(tǒng)一的身份認證、以及統(tǒng)一的賬戶管理和權(quán)限管理。


我們把該系統(tǒng)分為三大模塊

管理員模塊:賬號,角色,權(quán)限分配,部門信息

用戶模塊:統(tǒng)一的登錄頁面,統(tǒng)一的系統(tǒng)導航頁,統(tǒng)一的會話管理

認證模塊:提供認證的客戶端以及認證的接口

管理員模塊

關(guān)于基本的后臺權(quán)限管理功能,有大量的開源系統(tǒng)可以借鑒。這里只強調(diào)幾個重點:

1.管理員的分級管理。

如果需要集成的系統(tǒng)比較少,涉及到的用戶不多,那么可以只設置一個超級管理員,該管理員負責所有的賬號,角色,以及權(quán)限分配。

如果需要集成幾十個系統(tǒng),涉及到的用戶很多,則必須考慮設置兩種管理員,超級管理員和普通管理員,普通管理員也具備創(chuàng)建賬號與分配權(quán)限的功能,但是普通管理員只能分配自己所擁有的權(quán)限。

例如我們有一個后臺坐席系統(tǒng),坐席人員有上百人,那么我們應該為坐席管理員增加一個普通管理員的權(quán)限,讓他自己維護坐席人員的賬號和權(quán)限。

2.管理員賬號與用戶賬號的分開管理。

可以考慮分開兩張表管理或者加一個標志位。

3.權(quán)限的粒度

3.1頁面元素權(quán)限

菜單級別的權(quán)限一般跟角色綁定,在后臺可以為某一個角色分配菜單以及按鈕的權(quán)限。需要子系統(tǒng)讀取認證接口展示菜單項。

3.2數(shù)據(jù)權(quán)限

數(shù)據(jù)權(quán)限一般跟部門掛鉤,但是必須子系統(tǒng)在代碼級別支持。

3.3接口權(quán)限

如果子系統(tǒng)采用的是前后端分離的架構(gòu),那么除了菜單層面需要限制以外,接口層面也需要進行權(quán)限管理。

3.4其他權(quán)限

假如子系統(tǒng)是一個數(shù)據(jù)庫查詢系統(tǒng),某個用戶可以訪問哪個數(shù)據(jù)庫表,這種權(quán)限的維護放到子系統(tǒng)自己維護。

4.角色-用戶反查

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容