本文基于面向某個垂直行業(yè)的SaaS系統(tǒng)的設(shè)計經(jīng)驗,抽象出一套適合中小企業(yè)的權(quán)限管理體系,目標是最大限度保留系統(tǒng)彈性的同時,把系統(tǒng)復(fù)雜度和開發(fā)成本盡可能降低。enjoy~
面向企業(yè)級的SaaS(軟件及服務(wù))系統(tǒng),由于企業(yè)用戶的規(guī)模和內(nèi)部管理模式千差萬別,設(shè)計一套具備足夠彈性、符合絕大部分目標企業(yè)用戶需求的權(quán)限管理系統(tǒng),是一個很大的挑戰(zhàn)。
我們可以看到,市面上面向多個行業(yè)的綜合性SaaS系統(tǒng),例如銷售易、紛享銷客等,由于它們的目標客戶跨越了多個行業(yè)、多種規(guī)模,這些企業(yè)具備各種各樣的內(nèi)部管理風(fēng)格和模式,在權(quán)限系統(tǒng)的管理上,往往做得非常復(fù)雜,不僅具備部門、角色、職位、數(shù)據(jù)等各個維度的權(quán)限管理,各個功能模塊還有自己獨立的權(quán)限管理,雖然具備最大的彈性,卻給企業(yè)的系統(tǒng)管理帶來較大的負擔(dān)。
提煉的三個核心原則:
- 企業(yè)-管理員-普通賬號三級權(quán)限
- 功能和數(shù)據(jù)權(quán)限分離
- 部門和角色分離
圍繞上述三個基本原則,我們力圖在滿足中小企業(yè)需求的前提下保持足夠的彈性,并嚴格控制復(fù)雜度和開發(fā)成本。詳細描述如下。
1. 權(quán)限從上到下分為三個層級:企業(yè)賬號(老板賬號)、管理員賬號、普通賬號
對于中小企業(yè)來說,公司的實際控制人,往往是公司的創(chuàng)始人或自然人大股東,因此企業(yè)賬號的使用者以及對應(yīng)綁定的手機號碼,都是公司的實際控制人,他應(yīng)該掌握最核心、權(quán)限最大的企業(yè)賬號,所以也可以稱為“老板賬號”。
但是在實際場景中,公司的實際控制人并不會直接管理公司的業(yè)務(wù)支撐系統(tǒng),因此,需要在系統(tǒng)首次部署時,創(chuàng)建好企業(yè)賬號,并由企業(yè)賬號授權(quán)給某一個或多個系統(tǒng)管理員,由系統(tǒng)管理員去完成日常的角色創(chuàng)建、員工導(dǎo)入等工作。系統(tǒng)管理員,對應(yīng)的一般就是HR或行政部門的管理人員。當(dāng)然,企業(yè)賬號的權(quán)限高于管理員賬號,如果是小微型企業(yè),也可以由企業(yè)賬號直接替代管理員賬號的功能。
除了企業(yè)賬號和管理員賬號之外,其他各級員工所持有的賬號,都屬于普通賬號。普通賬號的部門、角色、數(shù)據(jù)等權(quán)限的設(shè)置,一律由系統(tǒng)管理員配置。
三個權(quán)限層級示意圖如下:
在實際系統(tǒng)中的核心業(yè)務(wù)步驟如下:
(1)企業(yè)購買系統(tǒng)時,創(chuàng)建一個企業(yè)賬號,這個企業(yè)賬號綁定的手機號碼為公司實際控制人的手機號碼。該手機號碼必要時可以解綁(例如公司實際控制人變更),由于該功能觸發(fā)頻率很低,因此不需要在前端功能中實現(xiàn),只需要在購買協(xié)議中寫明,“購買企業(yè)可以通過書面方式提出企業(yè)賬號手機號碼綁定變更需求”即可。
(2)在部署和培訓(xùn)階段,可指導(dǎo)企業(yè)賬號持有人創(chuàng)建一個或多個管理員賬號,該賬號一般授權(quán)給行政總監(jiān)或人力資源總監(jiān),后續(xù)配置即由管理員賬號進行。
(3)管理員賬號持有人需要接受系統(tǒng)培訓(xùn),掌握部門創(chuàng)建、角色創(chuàng)建、功能和數(shù)據(jù)權(quán)限分配等基本操作。管理員所有操作都必須記錄在案,供企業(yè)賬號持有人監(jiān)督,且管理員操作觸發(fā)異常行為規(guī)則(如大量分配高等級權(quán)限等)時,系統(tǒng)會通過短信方式通知到企業(yè)賬號持有人,確保企業(yè)賬號對管理員的全方位掌控。
(4)企業(yè)賬號可隨時將管理員賬號禁用或設(shè)定為離職,但管理員賬號不可對企業(yè)賬號進行任何配置或操作。
(5)企業(yè)賬號默認擁有所有權(quán)限。
2. 功能權(quán)限和數(shù)據(jù)權(quán)限分離
功能權(quán)限,定義為可見、可以操作的功能范圍。例如某一部分菜單,或者某個頁面里的各種操作。
數(shù)據(jù)權(quán)限,定義為若干個數(shù)據(jù)類型里的具體可見范圍,例如“客戶”就是一個數(shù)據(jù)類型,它的權(quán)限舉例如“無權(quán)限”、“我的客戶”、“我所在部門的客戶”、“我所在部門及下級部門的客戶”。
通過功能權(quán)限和數(shù)據(jù)權(quán)限的分離,我們可以做到以下場景:需要開拓和維護客戶的角色集合,都可以擁有“客戶”這個菜單的權(quán)限,但不同的角色進入“客戶”菜單的列表時,看到的客戶范圍各不相同,極端情況是看不到任何客戶。且不同角色在同一個客戶頁面上,能進行的操作也不同,例如有的角色可以新建客戶,有的卻不行,這就要由功能權(quán)限來控制。
可見,通過功能權(quán)限和數(shù)據(jù)權(quán)限的分離和配合,我們在具體的權(quán)限分配上有了非常大的彈性,且在技術(shù)層面的后臺系統(tǒng)的設(shè)計上,也非常合理、清晰。
而在具體設(shè)計上,需要保證以下4點:
- 正確區(qū)分功能和數(shù)據(jù),入口性和操作性的都應(yīng)該歸類為功能
- 正確對數(shù)據(jù)進行分類,避免存在分類后的某些數(shù)據(jù)存在交集
- 數(shù)據(jù)分類到多細的顆粒度,需要由行業(yè)特性決定
- 數(shù)據(jù)權(quán)限區(qū)分為查看、編輯和刪除
示例圖如下,由于涉及具體產(chǎn)品,對某些文字進行了打碼:
3、部門和角色分離
部門的定義,自然就是公司行政組織架構(gòu)下的部門。
在本設(shè)計方案中,角色等同于職位,而在許多大型的SaaS系統(tǒng)中,為了更大的靈活性,往往會把角色和職位分開,但根據(jù)我們的判斷,對于中小企業(yè),設(shè)定角色一個就夠了,職位當(dāng)然還存在,但僅僅是一個不涉及權(quán)限管理的文本title了。
以一個銷售公司來說,角色可以包括:“渠道專員”、“渠道總監(jiān)”、“銷售專員”、“銷售經(jīng)理”、“總經(jīng)理”等等。
所謂的部門和角色分開,就是不同的部門可以有相同的角色,例如如果有渠道一部、渠道二部,則這兩個渠道部的員工的角色都可以設(shè)定為“渠道專員”,這兩個部門的管理者都可以設(shè)定為“渠道經(jīng)理”。再配合功能和數(shù)據(jù)權(quán)限,則進一步配置“渠道專員”具有“渠道”菜單的功能權(quán)限,其能夠查看的渠道數(shù)據(jù)權(quán)限范圍則僅為“我的”,而“渠道經(jīng)理”同樣具有“渠道”菜單的功能權(quán)限,但其能夠查看的渠道數(shù)據(jù)權(quán)限的范圍則擴大為“部門”。
具體設(shè)計上:
- 最大部門即為公司
- 管理員賬號和普通賬號均可禁用或設(shè)置為離職
- 不同部門可以配置相同角色
- 相同角色的功能權(quán)限和數(shù)據(jù)權(quán)限是一樣的
4. 權(quán)限系統(tǒng)和其他功能設(shè)計的關(guān)系
總結(jié)完權(quán)限系統(tǒng)三個核心的基本原則后,我們還需要指出一點:權(quán)限系統(tǒng)的設(shè)計方案,在整個系統(tǒng)中絕不是孤立的,它能否實現(xiàn)設(shè)計目標,并和整個系統(tǒng)完美配合,還需要做到以下幾點:
首先,菜單和功能的設(shè)計,必須是最小顆粒度,否則就和數(shù)據(jù)權(quán)限產(chǎn)生沖突。例如:我們只需要一個“客戶”菜單即可,不同角色在“客戶”菜單里能干什么事情,由功能權(quán)限和數(shù)據(jù)權(quán)限配合進行控制,但切不可出現(xiàn)“我的客戶”+“全部客戶”兩個菜單,這明顯和數(shù)據(jù)權(quán)限有根本沖突,且也是一種不優(yōu)美、不合理、擴展性差的設(shè)計。
其次,數(shù)據(jù)的分類,必須符合業(yè)務(wù)需求,且劃分合理。有些數(shù)據(jù)都是公開的可以不歸入數(shù)據(jù)權(quán)限進行管理,所有角色默認都有即可;有些數(shù)據(jù)需要進一步細分,例如同樣以“客戶”舉例,在某些公司的業(yè)務(wù)規(guī)則中,就需要將客戶的基本信息和聯(lián)系信息分開控制,管理層可以看客戶基本信息,但只有客戶負責(zé)人才可以看聯(lián)系信息,這種情況就需要將客戶的數(shù)據(jù)權(quán)限分為“客戶基本信息”和“客戶聯(lián)系信息”兩個。
最后,權(quán)限變更的記錄和所有賬號的行為軌跡記錄一樣重要。權(quán)限系統(tǒng)本質(zhì)是進行權(quán)力的限制,沒有監(jiān)管的權(quán)力必定是會失控的。在出現(xiàn)問題的時候,必須同時配合權(quán)限變更的記錄、角色變更的記錄和賬號的行為軌跡記錄進行追責(zé)和存證,確保維護企業(yè)的合法權(quán)益。
總結(jié)
在合理設(shè)計的前提下,權(quán)限系統(tǒng)也并非越復(fù)雜越好。只有符合目標客戶需求并具備最大彈性的權(quán)限系統(tǒng),才是最好的。
藍藍設(shè)計( tweetduck.com )是一家專注而深入的界面設(shè)計公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設(shè)計、BS界面設(shè)計 、 cs界面設(shè)計 、 ipad界面設(shè)計 、 包裝設(shè)計 、 圖標定制 、 用戶體驗 、交互設(shè)計、 網(wǎng)站建設(shè) 、平面設(shè)計服務(wù)