天天看點

權限菜單設計

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

繼續閱讀