后臺(tái)設(shè)計(jì)之權(quán)限管理
權(quán)限系統(tǒng)是每位后臺(tái)產(chǎn)品產(chǎn)品經(jīng)理繞不過(guò)去的問(wèn)題,好的權(quán)限系統(tǒng)可以明確公司內(nèi)不同人員、不同部門的分工,降低操作風(fēng)險(xiǎn)發(fā)生概率,便于管理等優(yōu)勢(shì)。筆者曾負(fù)責(zé)過(guò)若干種后臺(tái)系統(tǒng)的搭建,其中都繞不開(kāi)“權(quán)限管理”,現(xiàn)愿意將我個(gè)人經(jīng)驗(yàn)和工作中所產(chǎn)生的的思考與大家進(jìn)行分享。
1. 權(quán)限系統(tǒng)是什么
一句話概括,我個(gè)人認(rèn)為權(quán)限系統(tǒng)就是:明確操作人員可在平臺(tái)內(nèi)能做什么。即什么樣的人,可以做什么樣的事,這并不難理解,我們的用戶是所有可以登錄該平臺(tái)的人員。
2. 權(quán)限系統(tǒng)應(yīng)該怎么做
在這筆者先介紹一下“RBAC”結(jié)構(gòu)的含義,所謂RBAC即:權(quán)限與角色相關(guān)聯(lián),用戶通過(guò)成為適當(dāng)角色的成員而得到這些角色的權(quán)限。
由此可見(jiàn),通常的權(quán)限管理,可分為三個(gè)部分及“用戶管理”、“角色管理”和“權(quán)限管理”三個(gè)部分。
通常來(lái)說(shuō),用戶與角色一一對(duì)應(yīng),一個(gè)用戶對(duì)應(yīng)一個(gè)角色;同一個(gè)角色可對(duì)應(yīng)多個(gè)后臺(tái)操作頁(yè)面;若公司具有多個(gè)產(chǎn)品線,那么多個(gè)角色對(duì)應(yīng)同一個(gè)產(chǎn)品。其結(jié)構(gòu)如下圖所示:
有些讀者可能會(huì)有疑問(wèn),如果去掉“角色”概念,直接將用戶與權(quán)限進(jìn)行綁定是否可以減輕工作步驟?
表面上看來(lái),如果沒(méi)有“角色”,也可以為用戶分配權(quán)限,但仔細(xì)思考后,會(huì)發(fā)現(xiàn)如下問(wèn)題:
- 若不同用戶擁有相同權(quán)限,那么后臺(tái)操作人員將重復(fù)配置多次。
- 若用戶身份變更,需重新梳理權(quán)限。
- 若用戶離職,將出現(xiàn)多個(gè)無(wú)用權(quán)限,造成垃圾數(shù)據(jù)。
綜上所述,RBAC結(jié)構(gòu)可通過(guò)“角色”搭建用戶與權(quán)限之間的關(guān)系,可在創(chuàng)建角色時(shí)綁定相應(yīng)權(quán)限,再匹配到用戶,可提高整體的效率以及穩(wěn)定性。
3. 權(quán)限系統(tǒng)三要素
前文已經(jīng)講過(guò),權(quán)限系統(tǒng)的核心三個(gè)功能為:用戶、角色和權(quán)限,下圖為簡(jiǎn)要的腦圖,可輔助理解。
3.1 用戶管理
通常企業(yè)的后臺(tái)管理系統(tǒng),可以同企業(yè)內(nèi)部OA或企業(yè)微信等系統(tǒng)間打通,當(dāng)用新員工入職時(shí),可主動(dòng)申請(qǐng)后臺(tái)相應(yīng)權(quán)限,高級(jí)管理員(即權(quán)限分配者)根據(jù)用戶的職責(zé),分配具體的角色。若后臺(tái)系統(tǒng)暫未與系統(tǒng)打通,則需管理員手動(dòng)創(chuàng)建用戶。
用戶界面原型圖如上所示,該原型內(nèi)為尚未連接企業(yè)OA,需手動(dòng)創(chuàng)建用戶,所有可登錄后臺(tái)的用戶都將在表中展示。
添加用戶的界面如下圖所示:
在創(chuàng)建用戶時(shí),需輸入用戶的基本信息,并直接為用戶綁定角色,那么如何設(shè)定角色呢?這是我們下一步需要說(shuō)明的問(wèn)題。
細(xì)心的同學(xué)不難發(fā)現(xiàn),上圖頁(yè)面中存在“修改權(quán)限”的按鈕,該功能的存在是為了避免角色與權(quán)限的綁定過(guò)于僵化,可針對(duì)同一角色在不同用戶使用時(shí),進(jìn)行微調(diào),避免每次都產(chǎn)生新的角色。
3.2 角色管理
角色可由兩個(gè)維度確認(rèn):
- 業(yè)務(wù)維度
- 等級(jí)維度
所謂業(yè)務(wù)相對(duì)來(lái)說(shuō)方便理解,即不同的角色負(fù)責(zé)不同的功能,例如:配置專員,負(fù)責(zé)內(nèi)容物料的配置以及上架;審核專員,負(fù)責(zé)上架前的審核工作。
等級(jí)維度,即超級(jí)管理員、普通管理員和XX專員,超級(jí)管理員擁有針對(duì)所有用戶添加角色、添加用戶的權(quán)限,普通專員只能圍繞自身業(yè)務(wù)進(jìn)行管理,而專員的權(quán)限最弱,只負(fù)責(zé)基礎(chǔ)的執(zhí)行工作。
業(yè)務(wù)維度視平臺(tái)的功能和業(yè)務(wù)定義,等級(jí)維度可按照系統(tǒng)復(fù)雜度以及人員架構(gòu)方向確定。
角色列表同用戶列表一樣,將展示平臺(tái)內(nèi)所有的角色,以及該角色對(duì)應(yīng)的說(shuō)明、人數(shù)以及狀態(tài)(開(kāi)啟/關(guān)閉)。
創(chuàng)建角色的過(guò)程中,可為該角色配置相應(yīng)的權(quán)限。可采用雙向樹(shù)結(jié)構(gòu)或列表勾選的方式快速添加。
3.3 權(quán)限說(shuō)明
權(quán)限系統(tǒng),離不開(kāi)具體的權(quán)限,之所以放到最后,是因?yàn)闄?quán)限相比較前面兩個(gè)元素來(lái)說(shuō)更為復(fù)雜。通常后臺(tái)的權(quán)限分為:頁(yè)面權(quán)限、操作權(quán)限和數(shù)據(jù)權(quán)限。
- 頁(yè)面權(quán)限:用戶是否具備進(jìn)入/瀏覽該頁(yè)面的權(quán)限,例如,負(fù)責(zé)物料上傳的運(yùn)營(yíng)人員,應(yīng)有物料上架的頁(yè)面權(quán)限,但無(wú)需數(shù)據(jù)埋點(diǎn)反饋的頁(yè)面權(quán)限。
- 操作權(quán)限:在擁有頁(yè)面權(quán)限后,是否可擁有對(duì)該頁(yè)面進(jìn)行操作的權(quán)限。例如,數(shù)據(jù)專員可以對(duì)數(shù)據(jù)統(tǒng)計(jì)后臺(tái)的報(bào)表進(jìn)行整合、下載等,但無(wú)法更改數(shù)據(jù)統(tǒng)計(jì)規(guī)則。
- 數(shù)據(jù)權(quán)限:數(shù)據(jù)權(quán)限較比于其他兩個(gè)權(quán)限較為抽象。指的是用戶是否有針對(duì)某些數(shù)據(jù)的瀏覽權(quán)限。例如,同一個(gè)管理后臺(tái)內(nèi),可看到公司不同產(chǎn)品產(chǎn)品線的下載率、DAU、Crash率等等,但是作為某條產(chǎn)品線的員工,只能看到該產(chǎn)品線的數(shù)據(jù),而無(wú)法對(duì)其他產(chǎn)品線的數(shù)據(jù)進(jìn)行觀測(cè)。
通常頁(yè)面權(quán)限和操作權(quán)限將會(huì)在權(quán)限列表中拉取系統(tǒng)內(nèi)的所有頁(yè)面和可進(jìn)行的操作,通過(guò)樹(shù)狀圖展示給操作人員,進(jìn)行配置,而數(shù)據(jù)權(quán)限則需要貼合公司的業(yè)務(wù)進(jìn)行分析。
4. 總結(jié)
以上就是筆者對(duì)于權(quán)限系統(tǒng)設(shè)計(jì)的思考與總結(jié),后臺(tái)系統(tǒng)的設(shè)計(jì),沒(méi)有絕對(duì)的好與壞,也沒(méi)有DAU、MAU的壓力,但是也有自己的獨(dú)特之處即一定要圍繞業(yè)務(wù)來(lái)做,以滿足業(yè)務(wù)為核心,提高效率為目標(biāo)。
如有機(jī)會(huì),后續(xù)將會(huì)介紹CRM系統(tǒng)以及內(nèi)容管理CMS系統(tǒng)。
本文由 @Forza 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來(lái)自 Unsplash,基于 CC0 協(xié)議
想問(wèn)一下admin賬號(hào)是怎么來(lái)的,是后端設(shè)置的嗎?
數(shù)據(jù)權(quán)限可以和用戶直接綁定,功能權(quán)限和角色綁定
你好,如果為一個(gè)用戶添加多個(gè)角色,在用戶登錄時(shí)該如何處理呢?合并權(quán)限或是角色切換,或者是別的方案?
合并權(quán)限,取權(quán)限的并集
學(xué)到了,寫的很好理解。表達(dá)棒棒噠
你好,我是做B端ERP系統(tǒng)的,請(qǐng)問(wèn)一下,數(shù)據(jù)權(quán)限隔離,這個(gè)數(shù)據(jù)權(quán)限隔離怎么和用戶關(guān)聯(lián)起來(lái),按照我的理解,同一個(gè)頁(yè)面,某些數(shù)據(jù)你可以看,我看不到,那這些數(shù)據(jù)前提應(yīng)該是和用戶建立綁定關(guān)系,這是我自己的理解,不知道對(duì)不對(duì)
ERP系統(tǒng)應(yīng)該是根據(jù)業(yè)務(wù)建立崗位和標(biāo)準(zhǔn)角色,根據(jù)崗位來(lái)做數(shù)據(jù)權(quán)限的授權(quán)吧
角色管理
數(shù)據(jù)權(quán)限如何設(shè)計(jì)?
同問(wèn)。
數(shù)據(jù)權(quán)限和頁(yè)面權(quán)限感覺(jué)很像
還是有不一樣的吧,我的理解是頁(yè)面權(quán)限屬于分配頁(yè)面(欄目),有些欄目只有一定等級(jí)的人員可以查看,比如管理人員可以查看統(tǒng)計(jì)報(bào)表而普通員工無(wú)法查看;而數(shù)據(jù)權(quán)限屬于對(duì)頁(yè)面內(nèi)的數(shù)據(jù)的權(quán)限,同一個(gè)頁(yè)面中可能有多類數(shù)據(jù),比如業(yè)務(wù)人員只能查看自己的業(yè)務(wù)情況,但是管理人員可以查看所有人的業(yè)務(wù)情況,這個(gè)屬于同一個(gè)頁(yè)面的不同數(shù)據(jù)權(quán)限劃分了。淺薄之見(jiàn)哈
謝謝
數(shù)據(jù)權(quán)限該如何配置?
也很感謝你的這篇文章,第3遍閱讀了,對(duì)優(yōu)化公司產(chǎn)品起了很大的作用!
??
哈哈,承蒙感謝,十分榮幸。大家一起學(xué)習(xí)哈
也會(huì)有不同用戶處于同一角色,但數(shù)據(jù)權(quán)限不同的情況
不同用戶同一角色 但組織結(jié)構(gòu)不同 權(quán)限也就會(huì)不同
“通常來(lái)說(shuō),用戶與角色一一對(duì)應(yīng),一個(gè)用戶對(duì)應(yīng)一個(gè)角色”
——用戶與角色大部分情況下不是一 一對(duì)應(yīng)的;一個(gè)用戶可能會(huì)有多個(gè)角色,一個(gè)角色也可能會(huì)有多個(gè)用戶
實(shí)際上,確實(shí)是一用戶包含多角色,優(yōu)化之前公司的產(chǎn)品(2B產(chǎn)品),看到用戶與角色綁定,角色與權(quán)限綁定的設(shè)計(jì),無(wú)非都是為了圖快滿足客戶的一時(shí)需求,而后又不做更新迭代優(yōu)化,處理起來(lái)改動(dòng)很大。
謝謝您的建議,學(xué)習(xí)啦
角色可以不斷的建,一個(gè)用戶多個(gè)角色,我理解其實(shí)可以建立一個(gè)角色,把多個(gè)角色的權(quán)限加進(jìn)到這一個(gè)角色,再給這個(gè)用戶,綁定這個(gè)角色,這樣不知行不行
第一篇么,鼓勵(lì)一下加油。我也是做B端產(chǎn)品的,有興趣的話,可以一起努力,目前我發(fā)布了十篇文章。微信:znc0520 ??
沒(méi)想到能在這遇到你,之前閱讀過(guò)你的文章“三年產(chǎn)品經(jīng)理的轉(zhuǎn)正述職報(bào)告”,我也在做智慧校園業(yè)務(wù) ??
哈哈哈,我無(wú)處不在??梢约觽€(gè)朋友一起學(xué)習(xí)進(jìn)步。 ??
用戶、角色、權(quán)限三者分開(kāi),以角色作為橋梁將用戶和權(quán)限關(guān)聯(lián)起來(lái),這樣的配置賊方便
再給權(quán)限分個(gè)組:預(yù)先將權(quán)限分好,并設(shè)置一批角色,比較方便
再加一個(gè)權(quán)限轉(zhuǎn)移的功能,解決人員變動(dòng)帶來(lái)的權(quán)限調(diào)整
謝謝您的建議
?? 別這么客氣,一起學(xué)習(xí),一起成長(zhǎng)