權(quán)限管理:帶著枷鎖跳舞

發(fā)現(xiàn)每次設(shè)計(jì)權(quán)限體系都很痛苦绪钥,歸根結(jié)底就是沒有沉淀出一套方法論哩掺。看了下網(wǎng)上的文章大多是講RBAC權(quán)限管理模型RBAC0介紹到RBAC3厘擂,看的吐血了昆淡,還是自己總結(jié)點(diǎn)實(shí)際點(diǎn)的東西。

前言

設(shè)計(jì)B端產(chǎn)品刽严,無(wú)可避免會(huì)涉及權(quán)限管理的問(wèn)題瘪撇。為什么呢?因?yàn)锽端產(chǎn)品生來(lái)就是帶著組織結(jié)構(gòu)屬性的港庄,它輔助我們分工、協(xié)調(diào)和合作恕曲。所以我們的產(chǎn)品必須緊緊切合職鹏氧、責(zé)、權(quán)這三個(gè)主題佩谣。

簡(jiǎn)介

權(quán)限管理把还,一般指根據(jù)系統(tǒng)設(shè)置的安全規(guī)則或者安全策略,用戶可以訪問(wèn)而且只能訪問(wèn)自己被授權(quán)的資源茸俭,不多不少吊履。

原因

為什么要做權(quán)限管理呢?

  • 權(quán)利不同可以了解的數(shù)據(jù)內(nèi)容不同调鬓,保證數(shù)據(jù)隱私艇炎,避免數(shù)據(jù)泄密。
  • 職責(zé)不同所需要頁(yè)面不同腾窝,保證操作效率缀踪,避免頁(yè)面干擾居砖;
  • 技術(shù)水平不同可以操作的功能不同,保證系統(tǒng)安全驴娃,避免操作風(fēng)險(xiǎn)奏候;

還有其他要素都注定了要獨(dú)立出一個(gè)權(quán)限管理模塊來(lái)規(guī)范操作和數(shù)據(jù)權(quán)限。

原則

  • 權(quán)責(zé)明晰

權(quán):專人做專事唇敞,既可以防止誤操作蔗草,又避免干擾。比如自身才可以編輯和刪除疆柔。

責(zé):能將錯(cuò)誤行為定位到人咒精,落實(shí)責(zé)任。比如操作作業(yè)和表都帶上責(zé)任人的信息婆硬。

  • 界限分明

功能:將功能按不同層級(jí)或者屬性進(jìn)行劃分狠轻;

數(shù)據(jù):將數(shù)據(jù)按業(yè)務(wù)類型或者組織架構(gòu)特性進(jìn)行劃分;

  • 流程規(guī)范

依賴:允許用戶依賴別人作業(yè)和查看作業(yè)信息彬犯,保證組織的流暢性向楼。

繼承:根據(jù)實(shí)際情況要考慮流程的容錯(cuò)性,比如是否可以跨節(jié)點(diǎn)確認(rèn)谐区。

原理

所以每個(gè)用戶都需要權(quán)限限定湖蜕,但是直接給用戶賦上權(quán)限,會(huì)有很多問(wèn)題:

  • 工作量大宋列,需要給每個(gè)用戶依次賦上權(quán)限昭抒;
  • 靈活度低,如果某個(gè)操作權(quán)限關(guān)掉了炼杖,需要一個(gè)個(gè)找出用戶依次修改權(quán)限灭返;

所以基于傳統(tǒng)的權(quán)限模型進(jìn)行改建,RBAC模型是一個(gè)成熟的權(quán)限模型坤邪,雖然被講爛了熙含,但是還是假裝不知道重新介紹下。

RBAC(Role-Based Access Control)基于角色的訪問(wèn)控制艇纺。不同于傳統(tǒng)的權(quán)限模型直接賦予使用者權(quán)限怎静,而是將權(quán)限賦予角色。

用戶與角色相關(guān)聯(lián)黔衡,是多對(duì)多關(guān)系蚓聘;
角色與權(quán)限相關(guān)聯(lián),是多對(duì)多關(guān)系盟劫。

項(xiàng)目管理

項(xiàng)目是用來(lái)隔離數(shù)據(jù)和用戶的夜牡。用戶加入當(dāng)前項(xiàng)目才可以享受該項(xiàng)目下的資源。你可以把項(xiàng)目當(dāng)做部門就明白了捞高,A部門的用戶不可以查看B部門的數(shù)據(jù)氯材。

注意

刪除項(xiàng)目渣锦,需要提示是否刪除項(xiàng)目下的數(shù)據(jù),如果刪除有很多風(fēng)險(xiǎn)氢哮,那就禁用刪除吧袋毙。還有一種折中的方法,就是刪除時(shí)允許將項(xiàng)目下的資源遷移到其他項(xiàng)目冗尤。

用戶管理

管理用戶信息听盖,以及對(duì)用戶進(jìn)行增刪改查,包括用戶名稱裂七、所屬部門皆看、聯(lián)系電話等信息,至于密碼背零,一般只能重置密碼腰吟,而不是顯示密碼允許修改。

注意

  • 源:一般我們可以和OA關(guān)聯(lián)拿取賬號(hào)徙瓶,而不需要在產(chǎn)品里添加毛雇,保證內(nèi)部系統(tǒng)信息一致性。

  • 目標(biāo):在產(chǎn)品中一些頁(yè)面需要讀取用戶管理的用戶信息侦镇。

  • 交接:如果用戶的信息被產(chǎn)品某些功能所引用灵疮,必須考慮用戶離職后,其創(chuàng)建的資源管理的問(wèn)題壳繁,這時(shí)候被賦予所有權(quán)限的管理員是個(gè)很好的接盤俠震捣。

用戶組管理

用戶組其實(shí)就是批量給用戶賦予角色,將多個(gè)用戶綁定為一個(gè)小組闹炉,再給這個(gè)小組賦予一個(gè)角色蒿赢。

注意

如果內(nèi)部組織架構(gòu)不復(fù)雜的話,最好不要加入用戶組渣触,不然增加了權(quán)限體系的復(fù)雜性诉植,畢竟殺雞焉用牛刀。

角色管理

管理角色信息昵观,對(duì)角色進(jìn)行增刪改查,包括角色名稱舌稀、角色描述和角色狀態(tài)等啊犬。

可以將角色理解為將權(quán)限打包成一個(gè)小組,那個(gè)小組就是一個(gè)角色壁查。

注意

  • 角色停用后觉至,用戶被賦予這個(gè)權(quán)限就不生效。

權(quán)限

頁(yè)面權(quán)限

頁(yè)面權(quán)限指用戶可以看到的頁(yè)面睡腿。如果你的產(chǎn)品比較復(fù)雜语御,可能你需要從模塊權(quán)限到菜單權(quán)限最后到頁(yè)面權(quán)限峻贮。

操作權(quán)限

操作權(quán)限指用戶可以操作的內(nèi)容,即按鈕權(quán)限应闯,是否有增刪改查的權(quán)限纤控。

思考

  • 銜接自然
    比如根據(jù)項(xiàng)目區(qū)分?jǐn)?shù)據(jù)權(quán)限,根據(jù)崗位區(qū)分角色碉纺,將現(xiàn)實(shí)的角色與產(chǎn)品角色相關(guān)聯(lián)船万,顯得更自然。

  • 輕裝上陣
    很多人一講到權(quán)限管理骨田,就希望把它設(shè)計(jì)的非常全面嚴(yán)謹(jǐn)耿导,但是邏輯上的全面嚴(yán)謹(jǐn)和功能上的全面嚴(yán)謹(jǐn)完全是兩回事。如果前期不需要态贤,完全沒必要多抽象出幾個(gè)概念舱呻,需要考慮的反而越多。所以在能滿足權(quán)限的需求下悠汽,就不要多設(shè)概念箱吕,比如抽象出用戶組這種,很可能基本用不到介粘,而且還增加了系統(tǒng)復(fù)雜度殖氏。

  • 隨機(jī)應(yīng)變
    難道一定要遵從RBAC模型嗎?等你真正參與項(xiàng)目姻采,就會(huì)發(fā)現(xiàn)雅采,RBAC模型僅僅只是個(gè)開始咆耿,它只是幫你打好基礎(chǔ)丧没,之后還會(huì)有各種各樣個(gè)性化的需求,絕對(duì)不僅僅現(xiàn)在說(shuō)的這么簡(jiǎn)單······

參考

大數(shù)據(jù)開發(fā)平臺(tái)權(quán)限管理

后臺(tái)經(jīng)驗(yàn)分享:如何做權(quán)限管理系統(tǒng)設(shè)計(jì)

后臺(tái)系統(tǒng):賬號(hào)權(quán)限系統(tǒng)設(shè)計(jì)

以RBAC模型為基礎(chǔ)也搓,分析B端權(quán)限系統(tǒng)的設(shè)計(jì)思路(業(yè)務(wù)技能)

一個(gè)案例刑棵,三個(gè)角色巴刻,簡(jiǎn)單說(shuō)下B端產(chǎn)品的權(quán)限設(shè)計(jì)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市蛉签,隨后出現(xiàn)的幾起案子胡陪,更是在濱河造成了極大的恐慌,老刑警劉巖碍舍,帶你破解...
    沈念sama閱讀 216,402評(píng)論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件柠座,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡片橡,警方通過(guò)查閱死者的電腦和手機(jī)妈经,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人吹泡,你說(shuō)我怎么就攤上這事骤星。” “怎么了爆哑?”我有些...
    開封第一講書人閱讀 162,483評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵洞难,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我泪漂,道長(zhǎng)廊营,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,165評(píng)論 1 292
  • 正文 為了忘掉前任萝勤,我火速辦了婚禮露筒,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘敌卓。我一直安慰自己慎式,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評(píng)論 6 388
  • 文/花漫 我一把揭開白布趟径。 她就那樣靜靜地躺著瘪吏,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蜗巧。 梳的紋絲不亂的頭發(fā)上掌眠,一...
    開封第一講書人閱讀 51,146評(píng)論 1 297
  • 那天,我揣著相機(jī)與錄音幕屹,去河邊找鬼蓝丙。 笑死,一個(gè)胖子當(dāng)著我的面吹牛望拖,可吹牛的內(nèi)容都是我干的渺尘。 我是一名探鬼主播,決...
    沈念sama閱讀 40,032評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼说敏,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼鸥跟!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起盔沫,我...
    開封第一講書人閱讀 38,896評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤医咨,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后架诞,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體腋逆,經(jīng)...
    沈念sama閱讀 45,311評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評(píng)論 2 332
  • 正文 我和宋清朗相戀三年侈贷,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,696評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡俏蛮,死狀恐怖撑蚌,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情搏屑,我是刑警寧澤争涌,帶...
    沈念sama閱讀 35,413評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站辣恋,受9級(jí)特大地震影響亮垫,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜伟骨,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評(píng)論 3 325
  • 文/蒙蒙 一饮潦、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧携狭,春花似錦继蜡、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至单默,卻和暖如春碘举,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背搁廓。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工引颈, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人枚抵。 一個(gè)月前我還...
    沈念sama閱讀 47,698評(píng)論 2 368
  • 正文 我出身青樓线欲,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親汽摹。 傳聞我的和親對(duì)象是個(gè)殘疾皇子李丰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評(píng)論 2 353

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