后臺系統(tǒng)的「權(quán)限設(shè)計」基礎(chǔ)知識科普
Toogee:權(quán)限設(shè)計通常隱藏于后臺系統(tǒng)深處,以至于我們說起來都知道,但是在真正面對復(fù)雜的業(yè)務(wù)需求和邏輯關(guān)系,又有些抓瞎。
這篇文章是我對之前權(quán)限設(shè)計的一次復(fù)盤,希望在自己重新梳理的同時,也能給其他小伙伴帶來一點想法。
一、權(quán)限系統(tǒng)設(shè)計的需求背景
1. 業(yè)務(wù)流程復(fù)雜化
隨著業(yè)務(wù)越來越復(fù)雜,之前一個訂單只需要一名銷售跟進(jìn),現(xiàn)在卻需要五個銷售協(xié)同完成一個訂單的流程(每個銷售負(fù)責(zé)其中一個流程)。
此時我們就可以通過權(quán)限系統(tǒng),分別賦予五個銷售處理各自流程的權(quán)限(比如銷售A只有錄入意向訂單的權(quán)限,銷售B只有補(bǔ)充客戶信息的權(quán)限等等),這樣每個銷售都只能看到流轉(zhuǎn)至自己手上的信息,將復(fù)雜的流程簡單化。
2. 信息敏感
當(dāng)同級部門不止一個時,便會在同一公司內(nèi)產(chǎn)生競爭關(guān)系。例如,銷售1組辛苦挖掘的用戶數(shù)據(jù)并不想被銷售2組看到。
權(quán)限系統(tǒng)可以設(shè)置不同部門的數(shù)據(jù)彼此獨立,即便是各組組長也無法互看對方數(shù)據(jù)。
3. 操作安全,權(quán)責(zé)明確
在一個大型系統(tǒng)中,一個誤操作產(chǎn)生的后果可能是非常嚴(yán)重的。
權(quán)限系統(tǒng)的存在***程度上避免了這類問題。只要是界面上出現(xiàn)的功能,都是可以操作或不會產(chǎn)生嚴(yán)重后果的。
4. 頁面簡潔
如果系統(tǒng)沒有進(jìn)行權(quán)限管理,那么每個帳號登錄后看到的界面都是一樣的,充斥著各種與自己無關(guān)的,冗余的信息,甚至還需要專門培訓(xùn),花費巨大的成本去學(xué)習(xí)。
經(jīng)過權(quán)限系統(tǒng)的管理,每個帳號登錄后只能看到和自己有關(guān)的信息,可以更快速地理解自己工作范圍內(nèi)的業(yè)務(wù)。
二、權(quán)限系統(tǒng)的基本構(gòu)成
權(quán)限系統(tǒng)主要由三個要素構(gòu)成:帳號,角色,權(quán)限。
- 帳號是登錄系統(tǒng)的唯一身份識別,一個賬號代表一個用戶。由自己注冊或系統(tǒng)管理員統(tǒng)一注冊分配。
- 角色,為賬號批量分配權(quán)限。在一個系統(tǒng)中,不可能為每個帳號訂制權(quán)限,所以給同一類帳號賦予一個「角色」,以達(dá)到批量分配權(quán)限的目的。
- 權(quán)限又分為操作權(quán)限,頁面權(quán)限和數(shù)據(jù)權(quán)限。
其中操作權(quán)限指的是用戶可以進(jìn)行的操作,例如是否可以新增、刪除、編輯等。頁面權(quán)限指的是可以看到的頁面。數(shù)據(jù)權(quán)限指的是可以查看數(shù)據(jù)的范圍。
簡單范例如下:
三、權(quán)限系統(tǒng)設(shè)計實例
1. 實例背景
這是一個訂單管理系統(tǒng),銷售、客服等角色通過系統(tǒng)完成整個訂單的流轉(zhuǎn)。
系統(tǒng)使用人數(shù)眾多,等級復(fù)雜,有大量的銷售團(tuán)隊存在同級競爭關(guān)系。
2. 帳號管理
當(dāng)前案例創(chuàng)建帳號的流程為:管理員在系統(tǒng)中新增帳號,用戶自行通過郵箱激活。默認(rèn)角色為「職員」,只分配最基礎(chǔ)權(quán)限。
為了減少管理員的工作量,同時也支持通過 excel 上傳,可以按照模版規(guī)范 excel 格式。
3. 角色管理
當(dāng)前案例中的角色就是「職位」,不同「職位」的用戶,有著不同的權(quán)限。
角色管理的入口在「權(quán)限管理」頁面,只具有基本的新增角色,編輯角色,刪除角色,以及添加角色描述。
通常主流后臺系統(tǒng)還會有復(fù)制角色等功能,復(fù)制角色是指:在新創(chuàng)建一個角色的時候,先選擇一個已有的權(quán)限相似的角色,然后再修改新角色的權(quán)限。這樣避免了權(quán)限太多的情況下,每個新角色都必須重新設(shè)置的繁瑣情況。
4. 權(quán)限管理
在實際設(shè)計中,很多系統(tǒng)會選擇將頁面權(quán)限與操作權(quán)限合并為功能權(quán)限,比如當(dāng)前案例:
每一個頁面有一個總開關(guān),打開則意味著分配了頁面權(quán)限。針對頁面內(nèi)所有的字段,有增刪查改這四種主要的操作權(quán)限。如果對頁面內(nèi)某些敏感字段需要進(jìn)行單獨的操作權(quán)限設(shè)置,可以打開高級設(shè)置,進(jìn)行字段級的操作權(quán)限配置。如下圖:
在當(dāng)前案例中,在有多個小組同級競爭的情況下,僅僅通過職位無法滿足數(shù)據(jù)權(quán)限分配的需求,所以我們引入「部門」,以保證在同一級別的銷售小組中,彼此信息保密,公平競爭。
另外,更高級別的部門,例如城市經(jīng)理,甚至總經(jīng)理,是理應(yīng)有權(quán)限看到自己所負(fù)責(zé)部門以及下級部門的所有數(shù)據(jù)的。
所以「部門」這個權(quán)限組有了等級劃分,根據(jù)等級進(jìn)一步分配數(shù)據(jù)權(quán)限。例如,基層銷售只能看到本人的數(shù)據(jù),銷售組長可以看到本部門的數(shù)據(jù),總負(fù)責(zé)人可以看到本部門及下屬部門的數(shù)據(jù),總經(jīng)理可以看得到全部數(shù)據(jù)。
部門的等級劃分我們放在了公司設(shè)置頁面,作為公司組織架構(gòu)的介紹。
寫在***
權(quán)限系統(tǒng)的基本結(jié)構(gòu)就是這樣,但是現(xiàn)實中的權(quán)限設(shè)計卻千差萬別。
理解清楚基本概念,還要結(jié)合實際需求,去設(shè)計***恰到好處的權(quán)限系統(tǒng)。也可以多參考些主流后臺系統(tǒng)的權(quán)限設(shè)計,了解下類似的問題,別的系統(tǒng)是如何解決的。
一個小Tip:比起不厭其煩地去注冊試用各種后臺系統(tǒng),不如直接去官網(wǎng)找?guī)椭臋n。