B端產(chǎn)品設(shè)計(jì):用戶角色權(quán)限系統(tǒng)設(shè)置
本文首先對(duì)B端產(chǎn)品的用戶與需求進(jìn)行了解析,進(jìn)而利用RBAC模型做了權(quán)限劃分,并做了詳細(xì)的案例分析。
在做過(guò)了一些B端產(chǎn)品后,就會(huì)發(fā)現(xiàn)所以B端端產(chǎn)品有很多共同的部分,比如系統(tǒng)設(shè)置里的用戶角色權(quán)限以及基礎(chǔ)信息的維護(hù),雖然B端產(chǎn)品可能業(yè)務(wù)不一樣,產(chǎn)品服務(wù)的人群、產(chǎn)品價(jià)值不一樣,但是用戶體系卻是每個(gè)系統(tǒng)必不可少的。
1. B端產(chǎn)品的用戶
1.1 B端產(chǎn)品的用戶
B端和C端不一樣,C端一般針對(duì)的是個(gè)人用戶,涉及的關(guān)系結(jié)構(gòu)相對(duì)來(lái)說(shuō)比較簡(jiǎn)單,關(guān)注個(gè)體數(shù)據(jù)以及個(gè)體產(chǎn)生的價(jià)值。同時(shí)B端產(chǎn)品的用戶一般是企業(yè),這就決定了使用系統(tǒng)直接的同事需要相互協(xié)作,共同去完成一件事。
1.2 B端產(chǎn)品用戶的需求
B端客戶一般客戶角色多元化,每個(gè)用戶對(duì)系統(tǒng)的需求和職能也是不一樣的,這就需要我們根據(jù)他們的使用需求去劃分,讓系統(tǒng)使用者不會(huì)被其他事項(xiàng)干擾或者看到不該看到的東西。所以這就需要B端產(chǎn)品能夠根據(jù)每個(gè)用戶的需求去“自定義功能”,就是系統(tǒng)的設(shè)計(jì)要靈活,系統(tǒng)管理者可以靈活配置自己想要的權(quán)限以及管理自己的員工。
2. RBAC模型
在傳統(tǒng)權(quán)限模型中,我們直接把權(quán)限賦予用戶。RBAC模型的基本思想就是,對(duì)系統(tǒng)操作的各種權(quán)限不是直接授予具體的用戶,而是在用戶集合與權(quán)限集合之間建立一個(gè)角色集合。
每一種角色對(duì)應(yīng)一組相應(yīng)的權(quán)限。一旦用戶被分配了適當(dāng)?shù)慕巧?,該用戶就擁有此角色的所有操作?quán)限。這樣做的好處是,不必在每次創(chuàng)建用戶時(shí)都進(jìn)行分配權(quán)限的操作,只要分配用戶相應(yīng)的角色即可,而且角色的權(quán)限變更比用戶的權(quán)限變更要少得多,減少系統(tǒng)的開(kāi)銷(xiāo)和頻繁設(shè)置。
RBAC0模型中角色和權(quán)限是多對(duì)多的,一個(gè)用戶擁有的權(quán)限是他所有角色的集合。如下圖,用戶1假如擁有角色1、角色2、角色3三個(gè)角色的話,那擁有的權(quán)限是權(quán)限1、權(quán)限2、權(quán)限3。
RBAC1模型中在角色中引入了分層的概念,即角色中可以分為多個(gè)等級(jí),每個(gè)等級(jí)對(duì)應(yīng)的權(quán)限是不一樣的,把權(quán)限分給用戶時(shí),需要分到對(duì)應(yīng)的角色等級(jí)。一般角色等級(jí)低的擁有的權(quán)限少,角色等級(jí)高的權(quán)限是所有等級(jí)低的權(quán)限集合。
RBAC2模型中在RBAC1模型中的基礎(chǔ)上對(duì)角色進(jìn)行了一些限制:
- 互斥角色限制:同時(shí)擁有兩個(gè)角色以上,且有角色互斥時(shí),系統(tǒng)提醒職能選擇一個(gè),比如公司職業(yè)中,如果選擇商務(wù)角色,生成結(jié)算單,并提交給財(cái)務(wù)審核時(shí),這時(shí)候就不能賦予這個(gè)員工財(cái)務(wù)角色。否則他就可以自己提交結(jié)算單自己審核結(jié)算單了。
- 角色數(shù)量限制:一個(gè)員工的角色是有限的 了,不能無(wú)限制的添加;
- 先決條件限制:若一個(gè)員工想獲得更高權(quán)限時(shí),需要獲得低級(jí)權(quán)限,比如想獲得產(chǎn)品總監(jiān)的權(quán)限那就需要從產(chǎn)品助理的角色先到產(chǎn)品經(jīng)理的權(quán)限;
3. 詳細(xì)案例設(shè)計(jì)
3.1 公司管理
一個(gè)B端的用戶角色權(quán)限系統(tǒng)大致可以包含:公司管理、部門(mén)管理、角色管理、用戶管理。在一個(gè)集團(tuán)中,往往在不同地區(qū)有不通的子公司或者合資公司,那如果這些公司里的員工同時(shí)用這套系統(tǒng),那就需要進(jìn)行公司管理,如下圖:
一般公司管理,需要基本信息包含企業(yè)名稱(chēng)、企業(yè)聯(lián)系人、聯(lián)系人號(hào)碼、社會(huì)統(tǒng)一信用代碼、通訊地址、法人信息以及一些證件信息上傳營(yíng)業(yè)執(zhí)照、法人身份證照片等。
公司管理的錄入一般是為了后期的員工管理以及一些基礎(chǔ)信息維護(hù)時(shí)的歸屬,一般頁(yè)面設(shè)計(jì)如下:
3.2 部門(mén)管理
公司向下就是部門(mén)管理,在權(quán)限設(shè)計(jì)時(shí),有時(shí)也會(huì)賦予部門(mén)一些權(quán)限,只要是這個(gè)部門(mén)的人都具有部門(mén)權(quán)限,當(dāng)用戶再賦予角色時(shí),會(huì)在部門(mén)權(quán)限的基礎(chǔ)上累計(jì)添加的角色權(quán)限。
即我們可以把一個(gè)部門(mén)看成一個(gè)用戶組,如銷(xiāo)售部,財(cái)務(wù)部,再給這個(gè)部門(mén)直接賦予角色,使部門(mén)擁有部門(mén)權(quán)限,這樣這個(gè)部門(mén)的所有用戶都有了部門(mén)權(quán)限。
用戶組概念可以更方便的給群體用戶授權(quán),且不影響用戶本來(lái)就擁有的角色權(quán)限。
部門(mén)設(shè)計(jì)一般有所屬公司、上級(jí)部門(mén)、部門(mén)名稱(chēng)、部門(mén)分類(lèi),部門(mén)的劃分只要是為下方的用戶權(quán)限以及數(shù)據(jù)權(quán)限做準(zhǔn)備。一般設(shè)計(jì)如下:
3.3 角色管理
角色對(duì)應(yīng)的是權(quán)限,一般包含功能權(quán)限,精確到功能操作權(quán)限,字段權(quán)限,包含字段是否可讀或者使用、以及一些數(shù)據(jù)權(quán)限,是只能看見(jiàn)自己的數(shù)據(jù)還是可以看見(jiàn)同部門(mén)的、其他部門(mén)的、以及整個(gè)公司、或者整個(gè)地區(qū)的數(shù)據(jù),這些都是靠角色去設(shè)置。
功能權(quán)限
對(duì)于后臺(tái)產(chǎn)品來(lái)講,針對(duì)功能菜單來(lái)劃分用戶權(quán)限其實(shí)是比較粗顆粒度的一種管理方式,這種模式下用戶一旦獲得授權(quán)即可使用該菜單欄下的全部數(shù)據(jù)查看權(quán)限和功能操作權(quán)限,頁(yè)可以針對(duì)單個(gè)菜單下的操作按鈕進(jìn)行權(quán)限設(shè)置。
字段使用
字段的設(shè)置在對(duì)象向下,用來(lái)區(qū)分不同角色進(jìn)入同一菜單下見(jiàn)到和可使用的字段是不一樣的。用戶可對(duì)業(yè)務(wù)下的字段進(jìn)行可見(jiàn)或者只讀形式的設(shè)置。
需要注意,角色一般不做刪除,只用禁用啟用操作,禁用時(shí)會(huì)校驗(yàn)是否當(dāng)前有用戶在使用,如果有使用時(shí)提醒設(shè)置者去更換賬號(hào)角色方可禁用。
3.4 員工管理
員工管理是對(duì)應(yīng)的賬號(hào),在公司、部門(mén)、角色設(shè)置好后,我們就可以對(duì)員工進(jìn)行管理了,一般員工包含在系統(tǒng)中的使用賬號(hào)的和不使用賬號(hào)的。
在對(duì)用戶管理進(jìn)行分配角色時(shí),我們可以分配一個(gè)角色,也可以分配多個(gè)角色,也可以快捷分配所有的角色。
一般到此一般喜用的角色權(quán)限就可以滿足業(yè)務(wù)需求了,但后期可能會(huì)涉及到多個(gè)系統(tǒng)去使用一個(gè)用戶體系,這就需要產(chǎn)品跟隨業(yè)務(wù)模式進(jìn)行調(diào)整,但是一般基本模型不會(huì)變更。
The end !
本文由 @ Shirley 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來(lái)自Unsplash,基于CC0協(xié)議
關(guān)于”部門(mén)掛載一個(gè)部門(mén)角色,當(dāng)用戶加入到這個(gè)部門(mén)就自動(dòng)繼承這個(gè)部門(mén)的角色“;
這個(gè)我之前也設(shè)計(jì)過(guò),但是有兩個(gè)問(wèn)題:
1.就是當(dāng)這個(gè)用戶被移出這個(gè)部門(mén)的時(shí)候,那么這個(gè)繼承的角色要一并自動(dòng)移除嗎?
2.部門(mén)可以是一個(gè)用戶組,那用戶組的管理是不是還有一個(gè)單獨(dú)的管理模塊去管理?
只是停用吧
1、用戶加入這個(gè)部門(mén)的時(shí)候 給他設(shè)置好角色權(quán)限 被移出的時(shí)候 只要移除這個(gè)賬號(hào)就可以啊 和角色有什么關(guān)系
2、部門(mén)里面可以給每個(gè)用戶的賬號(hào)分上下級(jí)
寫(xiě)的很細(xì)致,期待新作品
有收獲,感謝~
簡(jiǎn)單明了,感謝感謝
各位大佬,我想請(qǐng)教一下。角色管理和部門(mén)管理為什么不能合到一起,例如角色管理既有角色的屬性也有部門(mén)的屬性
部門(mén)是可以具備角色的屬性的,但是會(huì)導(dǎo)致授權(quán)不靈活。因?yàn)锽端部門(mén)管理通常要求跟企業(yè)的實(shí)際運(yùn)作組織架構(gòu)保持一致,合在一起會(huì)導(dǎo)致無(wú)法去新增跟組織無(wú)關(guān)的角色。你可以把“角色”理解為“用戶組”,用戶組的成員可以是人、組織、崗位,這樣的“用戶組”能否覆蓋絕大多數(shù)的B端授權(quán)場(chǎng)景。
各位大佬,我想請(qǐng)教一下。角色管理和部門(mén)管理不能合到一起,例如角色管理既有角色的屬性也有部門(mén)的屬性?
這不是銷(xiāo)售易里的截圖 嗎 ??
有一個(gè)問(wèn)題想問(wèn)一下,如果A在A部門(mén),但是需要管理B部門(mén)的部分同事,這樣的數(shù)據(jù)范圍怎么設(shè)定呢?
可以創(chuàng)建一個(gè)B部門(mén)的管理角色(對(duì)應(yīng)部分同事),再將這個(gè)角色賦予A
將B部分同事所在部門(mén)權(quán)限賦予A也是可以解決的!
這樣的話,那B部門(mén)剩余的同事,也被A管理了
1、創(chuàng)建一個(gè)用戶組,包含B部門(mén)的部分同事。2、創(chuàng)建數(shù)據(jù)權(quán)限,將A的這個(gè)數(shù)據(jù)權(quán)限,自定義指定為該用戶組
基本都差不多