如何產出一個相對合理的後臺權限設計?本文筆者提出了一個後臺權限設計法:三位一體法——也就是「用戶+角色+組織結構=用戶權限」。
知乎上有個問題:「為什麼很多產品經理不願意做後臺?」在各類回覆中有一個聲音:「因為後臺產品不好抄……」
不可否認,前臺產品和功能大都肉眼可見,存在可以借鑑的思路,而後臺產品可參考的內容不多,但也正因此,我們才需要更多的後臺產品設計資料。
最近幾年自己主要負責數據平臺產品與ERP等業務系統項目,這些都屬於後臺範疇,所以在後臺設計方面,有一些自己的方式方法,本文優先將後臺權限設計相關的經驗分享給大家,與大家一起探討。
為什麼要設計後臺權限廣義的後臺包括業務系統(ERP、CRM、財務與客服系統等)、平臺型產品、To B商戶端以及各類App的管理後臺等。
其中不少初創App的管理後臺,一個超管帳號打天下,等規模提高到需要拆分後臺用戶權限的時候,再對後臺的改造,這幾乎算是刮骨療毒了,需要付出的代價很大。可以說越早進行後臺權限設計,後續成本也就越低。
首先我們來看,什麼是後臺權限,後臺權限主要由以下三部分組成:
頁面權限:用戶可以看到那些頁面;操作權限:用戶可以在頁面內進行那些操作,增刪改查等;數據權限:用戶可以頁面內看到那些數據或內容,以教培ERP系統學員管理模塊為例,學員1為A校區學員,學員2為B學員,A校區相關工作人員登錄系統查看學員信息,僅可查看到學員1。以上三種權限組合在一起,決定了當前用戶的後臺權限與其可以完成那些業務流程。
至於為什麼需要設計後臺權限,或者這麼說:為什麼要合理的設計後臺權限?
那是因為後臺權限直接影響了系統的拓展性和兼容性,如果用戶權限設計不到位,極容易出現部分後臺用戶權限溢出,或者後臺用戶出現交叉權限,出現很多人為的操作失誤。
另外,數據權限控制不到位,容易造成數據洩露,尤其是B端系統,可能造成內部爭搶客戶資源等「惡性」鬥爭。
如何相對合理的設計後臺權限關於後臺權限設計也有一些現行的方法,比如:RBAC模型,也就是基於角色的權限訪問控制,這是一個比較常用的權限設計方法。
參考RBAC模型,結合這些年的工作經驗,覺得可以通過以下方式實現對頁面權限、操作權限與數據權限的管理,我把這種方式稱作:「三位一體法「。
後臺用戶,承載權限的主體,也影響部分數據權限。用戶角色,通過對角色的管理,實現對頁面與操作權限的管理。組織結構,部門架構的樹形結構,實現對數據權限的管理。換言之,三位一體:用戶+角色+組織結構=用戶權限
1. 角色管理角色是頁面操作權限的集合,是一個權限集。通過對角色權限的修改,可以實現對用戶權限的批量修改。
角色管理需要明確權限粒度(明確哪些操作需要設置權限),對於權限粒度的把控是很關鍵的,可以避免角色設置過於複雜。
對角色的修改和刪除,需要考慮到對現有用戶的影響,要明確這些操作的後置條件。
看圖說話:
結合上圖,我們大致可以明白角色管理的實現方式了。
下面給大家說一下這種實現方式的弊端:
角色設置要求高,設置角色的相關人員需要對業務足夠了解,一旦出現誤操作,會直接對線上用戶產生影響;新增功能與頁面時需要對角色進行重新配置,可以手動完成,也可以自動化實現,但每次功能上線都需要將新增的功能與操作分配給對應的角色,一旦遺忘也會產生影響。當角色過多時,可以準備一個角色說明文檔,既可以幫助我們了解現有角色的權限,又可以減少系統管理人員離職等原因造成的工作交接困難。
2. 組織結構管理組織結構的管理要從兩個方向來實現:
一個是對組織結構本身的管理,也就是對部門的增刪改等;另一個是需要對後臺各個頁面中信息進行梳理歸納,確定信息主體中存在組織結構欄位。
(1)組織結構的實現
看圖說話:
如果短期之內後臺涉及部門不多,可以暫時不在後臺實現該功能模塊,而是通過XML配置文件的方式來實現,這樣可以節省開發成本。
(2)頁面數據的梳理歸納
存在了「部門」這個信息,怎麼運用這些信息,是我們需要實現的。在需求產出期間,我們會完成項目整體的「數據信息結構」,可能有不少PM都沒做過這個,還是舉例說明:
用上面提到的教培ERP-學員管理模塊,該模塊實現的是對學員的管理,信息主體也就是學員,我們可以看一下學員的數據信息結構(部分):
教培ERP裡的組織結構是校區及其上級管理部門,如果當前後臺用戶是組織結構中的校區欄位與學員的授課校區欄位一致,那對應的授課校區就擁有了查看該學員信息的數據權限。
數據權限的管理,需要我們對後臺所有模塊進行分析。而且在同一個頁面,可依據的欄位也不單一,就像上圖中的校區有籤約校區和授課校區兩個,實際情況中可能會有更多。
也就是說,可以通過多個欄位實現對數據權限的管理,因此對數據權限的梳理,一定要對業務十分的熟稔。
3. 用戶管理之所以最後再寫用戶,是因為用戶是對角色與組織結構的承載,一個圖,大家也就都看明白了:
上圖中部門=組織結構,崗位=角色。
如果存在多個部門崗位的權限取併集,通過上述方式實現用戶權限管理。
一些總結的話後臺權限「三位一體」設計法適用於普遍場景,因為各種系統的實際業務場景不同,所以還會有很多的特殊場景需要處理。但只要從實際業務場景出發,參考上述權限設計的思路,應該是可以產出一個相對合理的權限設計方案。
關於後臺權限設計還有不少需要注意的細節和小技巧,這些需要大家在實際操作過程中去發現與挖掘,另外哪怕是To C的產品也應該提高對後臺的重視程度,後臺產品是前臺產品的支撐,在後臺產品中後臺權限有點像筋骨脈絡,只有打通了任督二脈,才能成就絕世武功。
作者:張小墨,微信公眾號:月光坦克(moontank1918),某美股上市網際網路公司產品經理。
本文由 @張小墨 原創發布於人人都是產品經理。未經許可,禁止轉載
題圖來自Unsplash,基於CC0協議
收藏已收藏 | {{ postmeta.bookmark }} 點讚已贊 | {{ postmeta.postlike }}