后台菜單權限設計實現思路


設計一款后台產品時,用戶角色權限控制是最常遇到的問題,本文以最簡單最基本菜單權限設計實現,采用具體案例來說明權限設計應該怎么實現。

原始需求:A企業有員工四名,分別是總裁張三、經理李四、員工王五和肖六,為A公司設計一款后台系統,要求每個員工看到的菜單選項不一致。

 

1.權限的作用意義

顧名思義,“權”代表“權力”,划分了系統的職權,不同的用戶擁有不同的權力划分;“限”代表“限制”,在權力划分的基礎上對職能范圍進行了限制,本文所述的權限相對簡單,賦予不同角色看到不同菜單的權限。

權限控制能較好地解決系統安全問題,避免公司機密資料外泄,同時,不同部門使用系統時互不干擾,因此被企業廣泛應用。

2.梳理用戶、角色的概念

(1)用戶

用戶是指系統的登錄用戶,可以理解為一系列的人員,例如登錄用戶為張三、李四、王五和肖六這幾個人。

(2)角色

角色指用戶在系統中擔任的角色,是系統賦予用戶的頭銜,例如A公司后台系統角色可以定義為:總裁、經理、員工。

3.選擇合適的權限模型

(1)傳統的權限模型

在早期,傳統的權限模型就是為用戶分配菜單權限,例如張三看到A、B、C菜單,李四看到B、C菜單,王五和肖六看到A、B、C菜單,這種傳統的權限模型簡單粗暴,直接為用戶分配菜單即可,但是隨着公司員工激增,在動則數百人的公司里,沒一個員工都要分配一次,顯然效率太低。

並且,在進行交互設計時,定義數百名用戶擁有的菜單權限,那需要寫數百行的表格。

 
 

(2)RBAC權限模型

RBAC,即基於角色的訪問控制(Role-Based Access Control),是優秀的權限控制模型,主要通過角色和權限建立管理,再賦予用戶不同的角色,來實現權限控制的目標。

利用該模型來配置權限,直接優點是角色的數量比用戶的數量更少,先把權限賦予角色,即可完成權限的分配;再為用戶分配相應的角色,即可直接獲得角色擁有的權限。

交互設計的福音,只需定義有限的角色擁有哪些菜單權限即可。

 
 

(3)模型其他注意事項

在選擇第二種RBAC權限模型時,需要注意,用戶——角色——權限之間並非是一對一的對應關系,例如,一個用戶可以擁有多種角色,一個角色也可以擁有多個權限,所以應該是多對多的關系,需要和開發說明清楚。

 
 

4.菜單實現效果

如圖所示,通過權限控制后,不同用戶登錄進去看到的菜單顯示都不一致,基於角色來進行菜單展示。

(1)總裁角色,菜單A、B、C

 
 

(2)經理角色,菜單B、C

 
 

(2)員工角色,菜單C

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM