設計一款后臺產(chǎn)品時,用戶角色權限控制是最常遇到的問題需纳,本文以最簡單最基本菜單權限設計實現(xiàn)芦倒,采用具體案例來說明權限設計應該怎么實現(xiàn)。
原始需求:A企業(yè)有員工四名不翩,分別是總裁張三兵扬、經(jīng)理李四、員工王五和肖六口蝠,為A公司設計一款后臺系統(tǒng)器钟,要求每個員工看到的菜單選項不一致。
1.權限的作用意義
顧名思義妙蔗,“權”代表“權力”傲霸,劃分了系統(tǒng)的職權,不同的用戶擁有不同的權力劃分眉反;“限”代表“限制”昙啄,在權力劃分的基礎上對職能范圍進行了限制,本文所述的權限相對簡單寸五,賦予不同角色看到不同菜單的權限梳凛。
權限控制能較好地解決系統(tǒng)安全問題,避免公司機密資料外泄播歼,同時伶跷,不同部門使用系統(tǒng)時互不干擾,因此被企業(yè)廣泛應用秘狞。
2.梳理用戶叭莫、角色的概念
(1)用戶
用戶是指系統(tǒng)的登錄用戶,可以理解為一系列的人員烁试,例如登錄用戶為張三雇初、李四、王五和肖六這幾個人减响。
(2)角色
角色指用戶在系統(tǒng)中擔任的角色靖诗,是系統(tǒng)賦予用戶的頭銜郭怪,例如A公司后臺系統(tǒng)角色可以定義為:總裁、經(jīng)理刊橘、員工鄙才。
3.選擇合適的權限模型
(1)傳統(tǒng)的權限模型
在早期,傳統(tǒng)的權限模型就是為用戶分配菜單權限促绵,例如張三看到A攒庵、B、C菜單败晴,李四看到B浓冒、C菜單,王五和肖六看到A尖坤、B稳懒、C菜單,這種傳統(tǒng)的權限模型簡單粗暴慢味,直接為用戶分配菜單即可场梆,但是隨著公司員工激增,在動則數(shù)百人的公司里贮缕,沒一個員工都要分配一次辙谜,顯然效率太低。
并且感昼,在進行交互設計時装哆,定義數(shù)百名用戶擁有的菜單權限,那需要寫數(shù)百行的表格定嗓。
(2)RBAC權限模型
RBAC芒填,即基于角色的訪問控制(Role-Based Access Control)纤子,是優(yōu)秀的權限控制模型,主要通過角色和權限建立管理,再賦予用戶不同的角色忍弛,來實現(xiàn)權限控制的目標涯贞。
利用該模型來配置權限均践,直接優(yōu)點是角色的數(shù)量比用戶的數(shù)量更少椒袍,先把權限賦予角色,即可完成權限的分配寇损;再為用戶分配相應的角色凸郑,即可直接獲得角色擁有的權限。
交互設計的福音矛市,只需定義有限的角色擁有哪些菜單權限即可芙沥。
(3)模型其他注意事項
在選擇第二種RBAC權限模型時,需要注意,用戶——角色——權限之間并非是一對一的對應關系而昨,例如救氯,一個用戶可以擁有多種角色,一個角色也可以擁有多個權限歌憨,所以應該是多對多的關系着憨,需要和開發(fā)說明清楚。
4.菜單實現(xiàn)效果
如圖所示务嫡,通過權限控制后享扔,不同用戶登錄進去看到的菜單顯示都不一致,基于角色來進行菜單展示植袍。
(1)總裁角色,菜單A籽懦、B于个、C
(2)經(jīng)理角色,菜單B暮顺、C
(2)員工角色厅篓,菜單C
@夜雨原創(chuàng)作品,未經(jīng)許可捶码,禁止轉載羽氮。