SaaS后臺經(jīng)驗分享:如何設計權限管理

權限管理的作用

SaaS后臺系統(tǒng)中,數(shù)據(jù)具有敏感性此叠,由于工作職責不同,所以用戶擁有的權限也不同随珠。因此灭袁,系統(tǒng)需要給用戶分配權限猬错,使得用戶在規(guī)定范圍內(nèi)使用系統(tǒng)。

RBAC模型介紹

本文介紹的RBAC模型是一個模型族茸歧,它包含了RBAC0~RBAC3四個概念性模型倦炒。

  1. 基本模型RBAC0定義了完全支持RBAC概念的任何系統(tǒng)的最低需求。RBAC1和RBAC2兩者都包含RBAC0举娩,但各自都增加了獨立的特點析校,它們被稱為高級模型。
  2. RBAC1中增加了角色分級的概念铜涉,一個角色可以從另一個角色繼承許可權智玻。
  3. RBAC2中增加了一些限制,強調(diào)在RBAC的不同組件中在配置方面的一些限制芙代。
  4. RBAC3稱為統(tǒng)一模型吊奢,它包含了RBAC1和RBAC2,利用傳遞性纹烹,也把RBAC0包括在內(nèi)页滚。這些模型構成了RBAC模型族。

本文主要介紹RBAC0模型铺呵,雖然是最基礎裹驰、最核心的權限模型,但只要學習理解了其中的思想片挂,便可以設計RBAC1~3的模型了幻林;

RABC0的設計

RBAC(Role-Based Access Control )意為基于角色的訪問控制,角色是權限集合音念,通過給用戶分配權限達到控制訪問的目的沪饺。


RBAC0示意圖

RBAC認為權限的過程可以抽象概括為:判斷【W(wǎng)ho是否可以對What進行How的訪問操作(Operator)】這個邏輯表達式的值是否為True的求解過程。

即將權限問題轉(zhuǎn)換為Who闷愤、What整葡、How的問題,因此我們需要定義的是角色讥脐、資源和行為遭居。

比如我們需要考慮:

  • 系統(tǒng)有哪些用戶,可以分為哪些角色攘烛;
  • 系統(tǒng)有哪些功能(資源)需要按權限來劃分魏滚;
  • 功能(資源)的拆分粒度,到頁面還是到具體按鈕操作坟漱;
  • 新用戶的默認角色和權限鼠次;
  • 用戶與角色是“多對一”還是“多對多”;
  • 新增的功能是默認全部角色“可用”還是“不可用”;
  • ......
    這些都是比較細節(jié)的問題腥寇,我們在設計功能時需要考慮成翩。

下面主要說一下Who,What赦役,How的定義麻敌。

1.定義角色(Who)

前期需要進行用戶訪談,了解不同崗位的用戶的工作職責掂摔,并抽象出幾個角色术羔。

然后,用戶與角色之間的關系需要明確是“多對一”還是“多對多”乙漓。這個問題需要結合業(yè)務場景進行討論级历,如果用戶的工作職責界限分明、不同工作崗位都有專門員工叭披,那么此時可以設計成“多對一”寥殖,即用戶只有一個角色,一個角色可以對應多個用戶涩蜘;


用戶與角色“多對一”

如果某些用戶的工作內(nèi)容跨越幾個職能嚼贡,則可以設計成“多對多”,即一個用戶可擁有多個角色同诫,一個角色也可對應多個用戶粤策。


用戶與角色“多對多”

這里還需注意的是,為了系統(tǒng)的靈活性误窖,角色的權限應是可編輯的掐场,管理員可以創(chuàng)建角色,并對角色的權限進行修改以應對工作場景的變化贩猎。

2.定義資源(What)

資源包括功能和數(shù)據(jù)。
定義功能時需要明確萍膛,功能權限到頁面級別還是操作級別吭服。在一些權限嚴格的業(yè)務場景,比如電商ERP中蝗罗,則會要求定義到操作級別艇棕,比如銷售報表導出按鈕,計算毛利率按鈕等串塑;如果權限比較寬松的沼琉,則可能只到頁面級別,比如該角色是否能訪問訂單列表等等桩匪。這些都需要根據(jù)業(yè)務需求決定打瘪。

定義數(shù)據(jù)時則比較簡單,可以根據(jù)該角色綁定的店鋪或區(qū)域來限制用戶的數(shù)據(jù)權限,比如美國運營專員只綁定美國區(qū)的闺骚,則只能獲取美國區(qū)的數(shù)據(jù)彩扔。

3.定義行為(How)

行為包括增刪查改。不同的角色可根據(jù)需要設置不同的操作權限僻爽,比如對于同樣的成績管理頁面虫碉,學生只能查看成績,不能修改成績胸梆;但教師同時擁有修改成績和查看成績的功能敦捧。

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市碰镜,隨后出現(xiàn)的幾起案子兢卵,更是在濱河造成了極大的恐慌,老刑警劉巖洋措,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件济蝉,死亡現(xiàn)場離奇詭異,居然都是意外死亡菠发,警方通過查閱死者的電腦和手機王滤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來滓鸠,“玉大人雁乡,你說我怎么就攤上這事∶铀祝” “怎么了踱稍?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長悠抹。 經(jīng)常有香客問我珠月,道長,這世上最難降的妖魔是什么楔敌? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任啤挎,我火速辦了婚禮,結果婚禮上卵凑,老公的妹妹穿的比我還像新娘庆聘。我一直安慰自己,他們只是感情好勺卢,可當我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布伙判。 她就那樣靜靜地躺著,像睡著了一般黑忱。 火紅的嫁衣襯著肌膚如雪宴抚。 梳的紋絲不亂的頭發(fā)上勒魔,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天,我揣著相機與錄音酱塔,去河邊找鬼沥邻。 笑死,一個胖子當著我的面吹牛羊娃,可吹牛的內(nèi)容都是我干的唐全。 我是一名探鬼主播,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼蕊玷,長吁一口氣:“原來是場噩夢啊……” “哼邮利!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起垃帅,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤延届,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后贸诚,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體方庭,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年酱固,在試婚紗的時候發(fā)現(xiàn)自己被綠了械念。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡运悲,死狀恐怖龄减,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情班眯,我是刑警寧澤希停,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站署隘,受9級特大地震影響宠能,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜磁餐,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一棍潘、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧崖媚,春花似錦、人聲如沸恤浪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽水由。三九已至荠呐,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背泥张。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工呵恢, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人媚创。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓渗钉,卻偏偏與公主長得像,于是被迫代替她去往敵國和親钞钙。 傳聞我的和親對象是個殘疾皇子鳄橘,可洞房花燭夜當晚...
    茶點故事閱讀 45,435評論 2 359

推薦閱讀更多精彩內(nèi)容