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