文章目錄
背景管理系統也需要微服務化
痛點一:龐大的背景管理系統
痛點二:各自獨立的背景管理系統
管理者子產品
1.管理者的分級管理。
2.管理者賬号與使用者賬号的分開管理。可以考慮分開兩張表管理或者加一個标志位。
3.權限的粒度
4.角色-使用者反查
背景管理系統也需要微服務化
痛點一:龐大的背景管理系統
任何一個公司的系統總是免不了需要很多背景功能,随着業務的發展,營銷活動管理背景,短信模闆背景,網站内容管理背景…最後會變成一個異常龐大而難以維護的系統。往往光菜單就有幾十上百個。每次修改跟新增一個簡單的功能都是一場災難。
痛點二:各自獨立的背景管理系統
如果公司内部有多條産品線,每個産品線都有自己的背景,往往都各自維護着各自的背景權限體系,這樣導緻每個人要記住大量的賬号密碼。如果公司來了新上司,光開通賬号就要好幾天。
針對上述兩個問題,自然而然的會想到,我們首先需要把背景管理系統拆成多個子系統,但是我們不需要維護多套使用者與權限體系,此時我們需要一個單點登入系統來解決問題。該系統應該提供統一的登入與系統導航頁面,統一的身份認證、以及統一的賬戶管理和權限管理。

我們把該系統分為三大子產品
管理者子產品:賬号,角色,權限配置設定,部門資訊
使用者子產品:統一的登入頁面,統一的系統導航頁,統一的會話管理
認證子產品:提供認證的用戶端以及認證的接口
管理者子產品
關于基本的背景權限管理功能,有大量的開源系統可以借鑒。這裡隻強調幾個重點:
1.管理者的分級管理。
如果需要內建的系統比較少,涉及到的使用者不多,那麼可以隻設定一個超級管理者,該管理者負責所有的賬号,角色,以及權限配置設定。如果需要內建幾十個系統,涉及到的使用者很多,則必須考慮設定兩種管理者,超級管理者和普通管理者,普通管理者也具備建立賬号與配置設定權限的功能,但是普通管理者隻能配置設定自己所擁有的權限。例如我們有一個背景坐席系統,坐席人員有上百人,那麼我們應該為坐席管理者增加一個普通管理者的權限,讓他自己維護坐席人員的賬号和權限。
2.管理者賬号與使用者賬号的分開管理。可以考慮分開兩張表管理或者加一個标志位。
3.權限的粒度
3.1 頁面元素權限菜單級别的權限一般跟角色綁定,在背景可以為某一個角色配置設定菜單以及按鈕的權限。需要子系統讀取認證接口展示菜單項。
3.2 資料權限資料權限一般跟部門挂鈎,但是必須子系統在代碼級别支援。
3.3 接口權限如果子系統采用的是前後端分離的架構,那麼除了菜單層面需要限制以外,接口層面也需要進行權限管理。
3.4 其他權限假如子系統是一個資料庫查詢系統,某個使用者可以通路哪個資料庫表,這種權限的維護放到子系統自己維護。
4.角色-使用者反查