大型系統(tǒng)后臺設計——權限篇

為什么寫這篇文章惊橱?

寫這篇文章的目的有兩個:一個原因是,由于最近將近兩年都在接觸大型的系統(tǒng),我有幸作為一個軟件實施方的一員遍烦,接觸并了解了幾個大型的項目,并自己也主·導設計了兩款軟件系統(tǒng)躺枕,我對于軟件的后臺設計有了一定程度的了解服猪,有能力闡述清楚這個問題。另外一個原因是拐云,曾經我作為一個軟件小白罢猪,想要在網上找到相應的資料,發(fā)現叉瘩,大部分的文章都來自與開發(fā)人員膳帕,他們偏向于從技術層面進行闡述,讀起來晦澀難懂薇缅,很少從業(yè)務和原理上進行闡述危彩,還有一部分文章闡述的層面較為淺顯,淺嘗輒止泳桦,并沒有從整體到部分進行完整的闡述汤徽,我這篇文章力求簡單明了,完整全面灸撰,任何人都通俗易懂漆羔。

系統(tǒng)后臺一般包括哪些內容,有什么用處狱掂?

系統(tǒng)后臺一般是管理者進行系統(tǒng)管理的一個模塊演痒。根據軟件的不同用途,其管理的內容各不相同趋惨。舉個簡單的例子:今日頭條鸟顺、騰訊視頻、頭條號等內容平臺器虾,一般其后臺都會有內容審核功能讯嫂,用戶賬號管理、權限分配等等兆沙。GUC用戶發(fā)布一篇文章嵌屎,后臺進行審核泥从,通過后袋毙,方可進行展示此虑。

我今天所闡述的系統(tǒng)后臺,指的是更為核心的東西库正,是一個系統(tǒng)的心臟曲楚。指的是權限數據管理,這一個部分的設計最為復雜也是系統(tǒng)設計最難最基礎的部門褥符。

權限包括兩個部分:一個是操作權限龙誊,一個是數據權限。?

操作權限又包括兩個部分:一個是菜單權限喷楣,另外一個是按鈕權限趟大。

菜單權限。舉個例子來說:我們使用同一個辦公軟件系統(tǒng)铣焊,你是HR逊朽,你有招聘模塊的菜單,可以進行招聘相關的操作粗截,我是財務惋耙,我有費用報銷模塊的菜單捣炬,而你沒有熊昌。這樣我們的菜單是不一定的。我們都可以使用辦公軟件湿酸,但是我們的職位不同婿屹,所以分配的菜單是不一樣的。

按鈕權限推溃。舉個例子:我們兩個都是人資部門的人昂利,你是招聘專員,我是人資經理。我們雖然都有招聘菜單蜂奸,但是你沒有招聘需求審批的按鈕犁苏,你沒有相應的權限操作,只有我可以進行招聘需求的審批扩所。

數據權限围详,說起來就比較簡單容易理解了,比如拿快消行業(yè)來說祖屏,我是安徽區(qū)的省區(qū)經理助赞,你是江蘇大區(qū)的省區(qū)經理,我們職位相同袁勺,我們都是省區(qū)經理雹食,我們擁有的操作權限也是一樣的,但是我們看到的數據是不一樣的期丰,我是安徽的省區(qū)經理群叶,只能允許看到安徽省的銷售數據,江蘇地區(qū)的銷售數據我是看不到的钝荡,同理盖呼,江蘇區(qū)的省區(qū)經理也是一樣的。所有這些化撕,都是可以通過數據權限進行控制的几晤。

怎么進行權限的控制?

我主要介紹兩種常見的權限控制方法植阴,也是比較常用的權限設計方式蟹瘾,一種是對于小型企業(yè)的,一般只有幾百人的那種掠手,另外一種涉及到工作流的系統(tǒng)產品憾朴,人數眾多。兩種設計方式之外還會有許多的變種喷鸽,這里就不一一說了众雷。

第一種:用戶—角色—權限

用戶——角色的設計方式是最為簡單的設計方式。他的設計原理是:把操作權限分配給角色做祝,如下圖1砾省,這樣新增一個新的角色以后,就會給這個新增的角色分配相應的操作權限混槐,包括操作按鈕和操作菜單编兄。

圖1

上圖為某公司的新增角色頁面,從圖中可以看到声登,勾選相應的菜單和按鈕狠鸳,則該角色就有用了菜單和按鈕的操作權限揣苏,沒有勾選,則沒有改權限件舵。

圖2

通過部門賦予用戶數據權限卸察,如圖2 。新建一個新的用戶時铅祸,必須要給這個用戶選擇一個權限角色蛾派,同時,在授權部門模塊个少,選擇其所屬的部門洪乍,部門就決定了其數據范圍。通過這兩個操作夜焦,一個新的用戶就具備了操作權限和數據權限壳澳。

第二種:用戶—職位—角色—權限

相比于第一種的權限設計方案,多用于小型系統(tǒng)茫经,沒有涉及到工作流的情況巷波;第二種權限設計方案多應用于一些中大型系統(tǒng)中,如CRM系統(tǒng)卸伞、OA系統(tǒng)等等抹镊。第二種和第一種相比較,中間多了一層職位荤傲,設計思路也是不一樣的垮耳。

第二種設計思路如下:

角色控制操作權限,和第一種一樣遂黍,如果涉及到工作流终佛,可以進行單獨定義工作流角色,也可以和權限角色相同雾家,不進行單獨定義铃彰。

角色——操作權限設計

職位是增加的一層,職位與角色關聯(lián)芯咧,也就是說牙捉,一個角色下面對應多個職位,一個職位只能對應一個角色敬飒,這樣職位就擁有了操作權限的屬性邪铲。同時驶拱,組織機構與職位關聯(lián),組織機構決定系統(tǒng)的數據權限阴孟。這樣職位就擁有了操作權限和數據權限永丝。

職位管理

最后在把職位掛到相應的用戶慕嚷,這樣用戶在登錄該賬號時毕泌,就同時擁有操作權限和數據權限撼泛。

用戶—職位

這里有一點需要說明愿题,用戶和職位是一對一的關系潘酗,也就是說,一個蘿卜一個坑琐脏,不可以把一個職位掛給多個用戶缸兔。

這樣設計有什么好處呢?

舉個例子說吧:當一個員工離職了阅签,采用第二種設計方式蝎抽,只需要停用該員工的用戶賬號,把職位移除樟结,如果新來一個員工替代他,只需要給新員工新建一個用戶賬號碎连,同時把職位掛給他就OK了驮履,不需要重新分配數據權限和操作權限。如果采用第一種設計方式:需要停用員工賬號怠噪,新來員工開通賬號需要重新分配數據權限傍念。

再舉個例子吧:當兩個員工A和B進行跨部門職位調崗時憋槐,該怎么操作呢淑趾?第一種方式:A和B的職位去掉治笨,同時對調就行或者把該部門空缺職位分配給A和B旷赖,不需要重新分配數據權限。第二種方式:A和B要同時進行數據權限的重新分配稚照。

如果有考慮有工作流的情況,就需要考慮流程節(jié)點處理對象俯萌,可以按照工作流角色果录、職位和具體用戶三個維度進行配置咐熙,第二種可以很好地滿足,第一種就無法滿足棋恼,只能按照具體人來定義和角色來處理返弹,當一個人調崗變動時爪飘,工作流審批節(jié)點可能也要進行調整义起,而第二種設計方式就不需要進行調整。

此外师崎,對于默终,有相應人員編制的企業(yè)來說,可以保證職位的固定齐蔽,只會有用戶的增減肴熏,職位可以始終保持不變蛙吏,這樣編制就得以控制了鸦做。

綜上:如果是設計小型系統(tǒng)并且沒有涉及到工作流的情況,第一種設計方案:用戶—角色的權限設計方案比較簡單泼诱;如果是中大型的系統(tǒng)并且涉及到工作流的情況治筒,則第二種設計方案:用戶—職位—角色 的設計方案比較好。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末舷蒲,一起剝皮案震驚了整個濱河市耸袜,隨后出現的幾起案子,更是在濱河造成了極大的恐慌牲平,老刑警劉巖堤框,帶你破解...
    沈念sama閱讀 216,591評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異纵柿,居然都是意外死亡蜈抓,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 92,448評論 3 392
  • 文/潘曉璐 我一進店門昂儒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來沟使,“玉大人,你說我怎么就攤上這事渊跋±拔耍” “怎么了?”我有些...
    開封第一講書人閱讀 162,823評論 0 353
  • 文/不壞的土叔 我叫張陵刹枉,是天一觀的道長叽唱。 經常有香客問我,道長微宝,這世上最難降的妖魔是什么棺亭? 我笑而不...
    開封第一講書人閱讀 58,204評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮蟋软,結果婚禮上镶摘,老公的妹妹穿的比我還像新娘嗽桩。我一直安慰自己,他們只是感情好凄敢,可當我...
    茶點故事閱讀 67,228評論 6 388
  • 文/花漫 我一把揭開白布碌冶。 她就那樣靜靜地躺著,像睡著了一般涝缝。 火紅的嫁衣襯著肌膚如雪扑庞。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,190評論 1 299
  • 那天拒逮,我揣著相機與錄音罐氨,去河邊找鬼。 笑死滩援,一個胖子當著我的面吹牛栅隐,可吹牛的內容都是我干的。 我是一名探鬼主播玩徊,決...
    沈念sama閱讀 40,078評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼租悄,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了恩袱?” 一聲冷哼從身側響起泣棋,我...
    開封第一講書人閱讀 38,923評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎憎蛤,沒想到半個月后外傅,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 45,334評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡俩檬,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,550評論 2 333
  • 正文 我和宋清朗相戀三年萎胰,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片棚辽。...
    茶點故事閱讀 39,727評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡技竟,死狀恐怖,靈堂內的尸體忽然破棺而出屈藐,到底是詐尸還是另有隱情榔组,我是刑警寧澤,帶...
    沈念sama閱讀 35,428評論 5 343
  • 正文 年R本政府宣布联逻,位于F島的核電站搓扯,受9級特大地震影響,放射性物質發(fā)生泄漏包归。R本人自食惡果不足惜锨推,卻給世界環(huán)境...
    茶點故事閱讀 41,022評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧换可,春花似錦椎椰、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至译荞,卻和暖如春瓤的,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背磁椒。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評論 1 269
  • 我被黑心中介騙來泰國打工堤瘤, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留玫芦,地道東北人浆熔。 一個月前我還...
    沈念sama閱讀 47,734評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像桥帆,于是被迫代替她去往敵國和親医增。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,619評論 2 354

推薦閱讀更多精彩內容