小程序后臺管理系統(tǒng):權(quán)限模塊解析
編輯導(dǎo)語:我們在日常生活中無論是坐公交還是點(diǎn)餐,都會接觸各種各樣的小程序。在使用小程序的背后,你知道其設(shè)計(jì)原理嗎?今天,本文作者分享了她設(shè)計(jì)后臺管理系統(tǒng)的過程,并且對權(quán)限模塊進(jìn)行了解析,希望看后對你有幫助。
前言:
市面上可參考的后臺管理系統(tǒng)并不多,也無法參考競品的后臺,對于初出設(shè)計(jì)后臺管理系統(tǒng)的同學(xué)來說,設(shè)計(jì)其中的基礎(chǔ)功能,成為了一件困難的事情。
做了三個后臺管理系統(tǒng),才慢慢熟悉了基礎(chǔ)架構(gòu)和必備功能模塊,于是梳理出來和大家一起分享。本文中提到的后臺管理管理,僅適用于移動端(例如小程序/APP)的管理,不適配大型saas平臺。
后臺管理系統(tǒng)(下文中統(tǒng)稱后臺)中,比較核心的模塊是權(quán)限模塊的設(shè)計(jì)。我總結(jié)出一套通用方案,可供大家學(xué)習(xí)和借鑒優(yōu)化。
首先,要清楚一些名詞和定義還有模型,才能更好地理解權(quán)限系統(tǒng)。
一、定義解釋與權(quán)限模型
- 用戶:指系統(tǒng)的登錄用戶,可以理解為一系列的操作人員,例如運(yùn)營同事小張,銷售小王等;
- 角色:指用戶在系統(tǒng)中擔(dān)任的角色,是系統(tǒng)賦予用戶的頭銜,例如總經(jīng)理、運(yùn)營、測試等,多于崗位和職責(zé)掛鉤,用于配置對應(yīng)崗位的各類權(quán)限;
- 權(quán)限:能夠訪問某接口或者做某操作的授權(quán)資格;
- 菜單權(quán)限:指對應(yīng)后臺中的一級菜單/二級菜單的頁面訪問權(quán)限,比如訂單管理-拼團(tuán)訂單列表;
- 操作權(quán)限:指后臺對數(shù)據(jù)進(jìn)行新增、刪除、修改、查看、導(dǎo)出等操作的權(quán)限;
- 數(shù)據(jù)權(quán)限:指該角色可以查看或者操作的數(shù)據(jù)范圍,例如銷售人員錄入了客戶信息,那么每個銷售只能看到自己創(chuàng)建的數(shù)據(jù),不可以看到其他銷售的數(shù)據(jù),這是一種常見的數(shù)據(jù)權(quán)限范圍。
介紹完名詞的定義,下面講解的是RBAC權(quán)限模型。
RBAC權(quán)限模型:RBAC,即基于角色的訪問控制(Role-Based Access Control),是優(yōu)秀的權(quán)限控制模型,主要通過角色和權(quán)限建立管理,再賦予用戶不同的角色,來實(shí)現(xiàn)權(quán)限控制的目標(biāo)。
利用該模型來配置權(quán)限,直接優(yōu)點(diǎn)是角色的數(shù)量比用戶的數(shù)量更少,先把權(quán)限賦予角色,即可完成權(quán)限的分配;再為用戶分配相應(yīng)的角色,即可直接獲得角色擁有的權(quán)限。
交互設(shè)計(jì)的福音,只需定義有限的角色擁有哪些菜單權(quán)限即可。
二、功能設(shè)計(jì)
進(jìn)入簡單易懂的看原型做功能環(huán)節(jié),稍有經(jīng)驗(yàn)的產(chǎn)品經(jīng)理,看了界面就應(yīng)該知道這個功能大概是怎么設(shè)計(jì)了。此章節(jié)內(nèi)容包括:賬號管理、角色權(quán)限管理、菜單管理。
1. 賬號管理
在我設(shè)計(jì)的系統(tǒng)里,融合的組織架構(gòu)管理。
組織架構(gòu)管理就不展開說了,就是對公司的架構(gòu)進(jìn)行設(shè)置,此處會影響用戶的數(shù)據(jù)權(quán)限,因?yàn)橛脩舻臄?shù)據(jù)權(quán)限是根據(jù)組織架構(gòu)的樹來進(jìn)行匹配,這個后文再詳細(xì)講解。
新建時,設(shè)置當(dāng)前員工的賬號,配置對應(yīng)的角色。因?yàn)槲覀冊O(shè)計(jì)了微信登錄和公眾號推送消息給內(nèi)部人員,所以需要綁定用戶的微信號。
2. 菜單管理
菜單管理主要為前端人員使用,用于配置系統(tǒng)的菜單,包括菜單的層級,增刪改等。此處不做過多解釋。如果涉及到設(shè)計(jì)此需求,提出對應(yīng)需求即可,前端會根據(jù)具體情況進(jìn)行研發(fā)。
3. 角色管理
角色管理中,包括的整個權(quán)限模塊的核心,菜單權(quán)限和數(shù)據(jù)權(quán)限。
配置菜單權(quán)限,即為配置用戶的頁面訪問權(quán)限和操作權(quán)限。此處較好理解,在設(shè)計(jì)需求時,需要根據(jù)業(yè)務(wù)具體描述需要被權(quán)限控制的功能。
我一般是要求研發(fā)將頁面中可以點(diǎn)擊的按鈕都做權(quán)限控制,這樣后續(xù)權(quán)限配置就會比較靈活。
數(shù)據(jù)權(quán)限目前我遇到的業(yè)務(wù)場景需要包括:僅查看本人數(shù)據(jù)/查看本人及以下人員數(shù)據(jù)/查看本部門數(shù)據(jù)/查看全部數(shù)據(jù)/自定義數(shù)據(jù)。
1)查看本人數(shù)據(jù)
顧名思義,就是只能查看自己創(chuàng)建的數(shù)據(jù)。例如為了避免惡性競爭,企業(yè)中員工王五和肖六各自名下有不同的客戶,所以他們在后臺查詢客戶的時候,都只能查看自己名下的客戶。
2)查看本人及以下數(shù)據(jù)
例如在組織架構(gòu)中,你是一個小組的組長張三(圖中左下角),下面有兩個小弟A和B。那么配置完畢(需要在組織架構(gòu)中將你配置為負(fù)責(zé)人),你可以看到你的數(shù)據(jù)加你小弟的數(shù)據(jù)。
3)查看本部門數(shù)據(jù)
你繼續(xù)當(dāng)張三,如果配置了查看本部門數(shù)據(jù),則跟你平級的小組數(shù)據(jù),你都可以查看。例如你可以查看小組1和小組2的全部數(shù)據(jù)。
4)查看全部數(shù)據(jù)
一般是總經(jīng)辦的權(quán)限,老板當(dāng)然可以查看所有人的數(shù)據(jù)啦。
5)自定義數(shù)據(jù)
可以配置某個角色,查看某個具體的人員的數(shù)據(jù),這個業(yè)務(wù)場景比較特殊,可能并不是很通用。例如,銷售助理,可以查看部分銷售人員的數(shù)據(jù),進(jìn)行工作檢查。
三、其他權(quán)限
這里是指一些包含在業(yè)務(wù)中的特殊權(quán)限,比如字段的可見性。如果要控制權(quán)限到字段的顆粒度,就需要把每個功能頁面的字段提煉出來,單獨(dú)配置給角色。還比如一些敏感數(shù)據(jù)的可見性。
例如:某個用戶的手機(jī)號對部分角色可見、部分角色加密。這個部分要單獨(dú)設(shè)計(jì)在操作權(quán)限里,單獨(dú)列出。
四、結(jié)語
市面上做的好的saas系統(tǒng)都有較為完善的權(quán)限系統(tǒng),具體可以參考紛享銷客、salesforce等,雖然我看salesforce有點(diǎn)看不懂,感興趣的可以研究一下。
取其精華,為其所用。
本文由@Olivia 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來自Unsplash, 基于CC0協(xié)議
自定義數(shù)據(jù)權(quán)限在BRP類管理系統(tǒng)里應(yīng)用很廣泛,這個可以好好研究展開
企業(yè)內(nèi)部的小程序權(quán)限如何控制
如果是微信小程序,方案1:增加登錄頁,使用賬號密碼登錄。把這個賬號配置權(quán)限。方案2:微信手機(jī)號授權(quán)登錄,把這個手機(jī)號配置權(quán)限。
你好,想請問下 App端的權(quán)限怎么控制的呢,跟后端權(quán)限配置一樣的方式嗎
app面向的用戶群體是什么?比如2c的普通的用戶或者是企業(yè)內(nèi)部或者是saas?
一樣的方式,菜單權(quán)限配置你可以拓展成APP端菜單配置和管理后臺菜單配置
你好,我最近也被權(quán)限設(shè)計(jì)搞得頭痛,請問原型可以分享學(xué)習(xí)一下嗎
原型大概就是圖片那些啦,已經(jīng)比較全面了。如果有不懂的,可以加我微信:YRM0913