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