4個(gè)步驟教你:如何建立后臺通用權(quán)限管理系統(tǒng)?
由于本人的工作方向偏向于后臺,同時(shí)也是技術(shù)出身轉(zhuǎn)崗產(chǎn)品經(jīng)理,在設(shè)計(jì)后臺時(shí)常會查閱后臺的相關(guān)資料,但是網(wǎng)上關(guān)于這方面的分享也比較少,于是利用空閑時(shí)間,把所經(jīng)歷的三家公司所設(shè)計(jì)過的后臺系統(tǒng)進(jìn)行整理、總結(jié),輸出一套通用的完整解決方案。系統(tǒng)的跟大家一起來探討、分享,希望對大家有所裨益。
由于不同的后臺管理系統(tǒng)需求多樣化,此處所分享的是通用型,對于大多數(shù)的后臺管理系統(tǒng)邏輯都已足夠使用,主要應(yīng)用于WEB應(yīng)用程序,如:網(wǎng)站管理后臺、CMS、CRM、OA等等。
當(dāng)然,您也可以對他進(jìn)一步深度設(shè)計(jì),以做出更強(qiáng)的系統(tǒng)。
涉及到權(quán)限的問題往往是都是復(fù)雜的問題,在系統(tǒng)權(quán)限控制方面,我們經(jīng)常會參照現(xiàn)成的案例來設(shè)計(jì)自己的權(quán)限控制,以下就是我所總結(jié)最常見的四種權(quán)限控制的方法。(附上高保真原型鏈接+整體結(jié)構(gòu)圖:見最底部)
一、控制系統(tǒng)的帳號及登錄
1. 登錄首先要有帳號,帳號的定義
基本上所有的互聯(lián)網(wǎng)產(chǎn)品,無論是移動端、PC端、C端或B端產(chǎn)品,登陸都需要一個(gè)賬號。只是對于C端的產(chǎn)品,都是用戶自己注冊即可。
而對于后臺產(chǎn)品而言,是需要公司內(nèi)部人員去創(chuàng)建賬號的。而這個(gè)賬號就是一把鑰匙,我們通過控制賬號所具備的權(quán)限,進(jìn)而控制這個(gè)員工的所操作范圍。
2. 帳號的兩個(gè)層級:企業(yè)(管理員)帳號、普通帳號
公司的實(shí)際運(yùn)營人,他應(yīng)該掌握最核心、權(quán)限最大的企業(yè)帳號,所以也可以稱為“管理員帳號”,其他都為普通帳號。
在實(shí)際系統(tǒng)中的核心業(yè)務(wù)步驟如下:
- 企業(yè)購買系統(tǒng)時(shí),創(chuàng)建一個(gè)企業(yè)帳號,這個(gè)企業(yè)帳號綁定的手機(jī)號碼為公司實(shí)際運(yùn)營人的手機(jī)號碼。該手機(jī)號碼必要時(shí)可以解綁修改(例公司運(yùn)營人變更),但是企業(yè)帳號不可刪除、離職。
- 在部署培訓(xùn)階段,可指導(dǎo)企業(yè)賬號持有人創(chuàng)建一個(gè)或多個(gè)普通賬號(可是給其帳號授權(quán)管理員角色),該賬號一般授權(quán)給行政總監(jiān)或人力資源總監(jiān),后續(xù)配置即由管理員賬號進(jìn)行。
這里需要注意的是2者區(qū)別:
- 帳號禁用:在登錄系統(tǒng)時(shí)多次輸入密碼錯(cuò)誤,系統(tǒng)會因?yàn)閹ぬ柊踩珕栴}暫時(shí)把禁用掉?;蛏婕暗綆ぬ柋槐I等場景需立馬禁用,修改密碼等操作。
- 帳號停用:員工離職,但是在職時(shí)所有的操作記錄信息還存在,所以設(shè)置為停用。(ps:可以跟人事系統(tǒng)打通,人事那邊設(shè)置某員工離職后,所有系統(tǒng)賬號自動設(shè)為停用。)
在用戶狀態(tài)上加狀態(tài)控制,可用的用戶就可以登錄系統(tǒng),禁用、停用的就無法登錄。
二、角色管理
角色往往是基于業(yè)務(wù)管理需求而預(yù)先在系統(tǒng)中設(shè)定好的固定標(biāo)簽,每個(gè)角色對應(yīng)明確的系統(tǒng)權(quán)限,他是一個(gè)集合的概念,是眾多最小權(quán)限顆粒的組成。我們通過把權(quán)限給這個(gè)角色,再把角色給賬號,從而實(shí)現(xiàn)賬號的權(quán)限,因此它承擔(dān)了一個(gè)橋梁的作用。引入角色這個(gè)概念,可以幫助我們靈活的擴(kuò)展,使一個(gè)賬號可以具備多種角色。
其所擁有的系統(tǒng)權(quán)限一般不會隨意更改,并且角色也不會隨著用戶的被添加和被移除而進(jìn)行改變,相較于用戶管理而言更加穩(wěn)定。
由于隨著公司擴(kuò)大角色的增多,而不好進(jìn)行管理,比如:hr這個(gè)角色,如果集團(tuán)有分公司可以給與分類,比如:上海分公司:人力總監(jiān);北京分公司:人力總監(jiān)。
這個(gè)角色所賦予的數(shù)據(jù)權(quán)限會不一樣,對于中小型公司,可以對角色進(jìn)行一個(gè)精細(xì)的分類管理起來比較方便。
三、控制功能權(quán)限
功能權(quán)限定義:為可見、可以操作的功能范圍。例如:某一部分菜單,或者某個(gè)頁面里的各種操作。
1. 菜單管理模塊
類型分為3種:目錄、菜單、按鈕。
- 在目錄、菜單上加權(quán)限控制,有權(quán)限的就可以訪問對應(yīng)模塊,沒有的連菜單名都看不到。
- 在業(yè)務(wù)模塊的功能按鈕上加權(quán)限控制,最小粒度的控制用戶行為,譬如:老板娘有錄入商品的權(quán)限,就能看到商品錄入的按鈕,點(diǎn)擊錄入就可以進(jìn)行商品的錄入操作;反之沒有該權(quán)限的店員就無法進(jìn)行商品錄入的操作。
2. 控制功能權(quán)限管理
底層菜單管理配置一般為開發(fā)人員一早就配置好,現(xiàn)在由用戶進(jìn)行分配使用這些功能權(quán)限。
功能權(quán)限:以角色為基礎(chǔ),通過劃分不同角色的不同功能權(quán)限,并將員工添加到對應(yīng)的角色中,實(shí)現(xiàn)員工功能權(quán)限的區(qū)分和隔離,包括:
- 對象級功能:比如功能的入口是否可見,如角色為“藍(lán)鯨觀察者”,對象“人員管理”的“查看列表”權(quán)限點(diǎn)取消,則此角色下員工不可見人員管理的功能入口。
- 操作點(diǎn)權(quán)限:比如新建、編輯等業(yè)務(wù)操作;
- 字段權(quán)限:在展示信息時(shí)加權(quán)限控制,保證敏感信息的安全性。可為角色配置對象字段的讀寫、只讀或不可見。比如:為角色“服務(wù)人員”配置銷售訂單的【銷售訂單金額】字段不可見。
控制了員工對字段的可見性,可編輯性,比如:不想要電銷人員看到客戶的電話號碼,不需要服務(wù)人員看到客戶銷售訂單中銷售訂單金額,則可以把相應(yīng)字段隱藏。
- 【讀寫】權(quán)限:員工將具備該字段的最大權(quán)限,【新建】【編輯】時(shí)可編輯,列表和詳情頁可見該字段。
- 【只讀】權(quán)限:員工在【新建】【編輯】時(shí)不可編輯,列表和詳情頁可見該字段。
- 【不可見】權(quán)限:員工在【新建】【編輯】【列表】【詳情】界面對該字段(或該字段值)不可見。
功能權(quán)限對于前端界面的影響點(diǎn):
- 如果員工沒有某對象“查看列表”的權(quán)限,則該對象的功能入口會被隱藏。
- 如果員工沒有某對象的操作點(diǎn)權(quán)限,則在對象頁面上隱藏相應(yīng)操作按鈕。
- 如果員工沒有某對象的指定字段的可見權(quán)限,則在對象頁面上隱藏相應(yīng)字段。
3. 控制字段權(quán)限用戶操作界面
控制字段權(quán)限需要有一個(gè)頁面配置頁面來做支撐,此界面由開發(fā)人員進(jìn)行控制操作。
點(diǎn)擊某一個(gè)頁面進(jìn)行配置,可以進(jìn)行添加,或從數(shù)據(jù)庫快速生成屬于這個(gè)頁面的字段。在從這個(gè)頁面的字段中選擇哪些字段是提供給用戶進(jìn)行設(shè)置字段權(quán)限,因此有了上上圖。以及字段的顯示名稱,是否必填字段都是控制提供給用戶進(jìn)行設(shè)置字段權(quán)限界面。
4. 控制數(shù)據(jù)權(quán)限
數(shù)據(jù)權(quán)限定義:數(shù)據(jù)權(quán)限管理主要控制某條數(shù)據(jù)記錄對用戶是否可見,結(jié)合功能權(quán)限可以更靈活的配置業(yè)務(wù)過程中每一位員工的功能操作權(quán)限及數(shù)據(jù)可見范圍,全面保障企業(yè)數(shù)據(jù)的安全性。
類似矩陣列表中,功能權(quán)限決定用戶可見哪些列,比如客戶對象中可見姓名、電話、郵箱等字段。數(shù)據(jù)權(quán)限決定用戶可見哪幾條數(shù)據(jù),比如:“王先生”、“李先生”等。
數(shù)據(jù)權(quán)限分兩個(gè)層次來控制數(shù)據(jù):
- 基礎(chǔ)數(shù)據(jù)權(quán)限:即根據(jù)數(shù)據(jù)的負(fù)責(zé)人來決定。
- 數(shù)據(jù)共享:根據(jù)基礎(chǔ)數(shù)據(jù)權(quán)限中的數(shù)據(jù)記錄所屬將其共享給其它用戶查看或編輯。
基礎(chǔ)數(shù)據(jù)權(quán)限:
- 私有:對象中所有數(shù)據(jù)遵循相關(guān)團(tuán)隊(duì)成員(包括負(fù)責(zé)人)及其上級對數(shù)據(jù)可見,且對這條數(shù)據(jù)具備同樣的權(quán)限【只讀、可編輯】,上級部門的部門負(fù)責(zé)人可以看到下級部門的所有數(shù)據(jù)。
- 公開只讀:對象中所有數(shù)據(jù)對全公司公開,單條數(shù)據(jù)的負(fù)責(zé)人及其上級、以及相關(guān)團(tuán)隊(duì)具備編輯權(quán)限的成員可以編輯該數(shù)據(jù)。
- 公開讀寫:對象中所有數(shù)據(jù)對全公司公開,全員可編輯。
備注:此處的“上級”是指用戶的匯報(bào)對象,在用戶管理界面可進(jìn)行編輯匯報(bào)對象。
系統(tǒng)初始化一開始默認(rèn)設(shè)置好(默認(rèn)設(shè)置的應(yīng)該是根據(jù)客戶公司實(shí)際運(yùn)營情況),用戶再根據(jù)公司的發(fā)展而進(jìn)行改變默認(rèn)設(shè)置,也可進(jìn)行恢復(fù)默認(rèn)設(shè)置,因?yàn)槟J(rèn)設(shè)置是涵蓋了客戶公司90%的場景。
數(shù)據(jù)權(quán)限共享:
數(shù)據(jù)共享規(guī)則是將某個(gè)部門/員工(數(shù)據(jù)來源)的某個(gè)對象(比如客戶)的全部負(fù)責(zé)的數(shù)據(jù)共享給某個(gè)部門、人員或者用戶組(共享范圍)。配置數(shù)據(jù)共享規(guī)則后,被共享方對共享方所負(fù)責(zé)的所有數(shù)據(jù)可見,并具備共享權(quán)限對應(yīng)的操作權(quán)限。
業(yè)務(wù)配置說明:
- 數(shù)據(jù)來源于:即需要共享的數(shù)據(jù),選擇員工即指該員工負(fù)責(zé)的記錄數(shù)據(jù),選擇部門即指該部門下員工負(fù)責(zé)的記錄數(shù)據(jù)。
- 共享的數(shù)據(jù):選擇需共享的對象,比如:將員工A負(fù)責(zé)的客戶數(shù)據(jù)共享給員工B。
- 數(shù)據(jù)共享到:被共享方,可選擇員工、部門或用戶組,被選擇的員工、部門或用戶組成員將可以看到共享的數(shù)據(jù)。
- 共享后的權(quán)限:配置被共享方可對數(shù)據(jù)查看或是可編輯的權(quán)限,如果配置為“讀寫”權(quán)限后,被共享方對共享數(shù)據(jù)的權(quán)限可類比于負(fù)責(zé)人的權(quán)限。
業(yè)務(wù)場景舉例:銷售一部想讓財(cái)務(wù)部張三看到該部門的所有銷售訂單數(shù)據(jù),并且讓張三可編輯。
(1)共享規(guī)則配置
- 【數(shù)據(jù)來源】是“銷售一部”;
- 【共享數(shù)據(jù)】是“銷售訂單”
- 【共享范圍】是“張三”;
- 【共享權(quán)限】是“讀寫”。
(2) 配置完成后
配置完成后,張三在【銷售訂單】對象,【共享給我的】場景下,可以看到銷售一部的所有員工負(fù)責(zé)的銷售訂。
附上高保真原型鏈接+整體結(jié)構(gòu)圖:
《藍(lán)鯨后臺權(quán)限管理系統(tǒng)》高保真原型鏈接:http://www.wulihub.com.cn/go/4Jrn8J/start.html#g=1&p=登錄頁面&c=1
總結(jié)
后臺權(quán)限管理系統(tǒng)并不是越復(fù)雜越好,只有貼合客戶實(shí)際需求并具備最大彈性的權(quán)限系統(tǒng),并有效控制開發(fā)成本的設(shè)計(jì)就是合理的設(shè)計(jì)。
以上根據(jù)自己的設(shè)計(jì)經(jīng)驗(yàn)總結(jié)給出的一套方案,小小產(chǎn)品一枚,有不足之處,歡迎各路大神拍磚指教~
本文由 @?董小姐 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自Unsplash,基于CC0協(xié)議
董小姐,你好,希望得到你的好友位。以后多交流。謝謝。我的微信BBao-shuang
非常有用 ?? 感謝
很不錯(cuò),我能看下原型嗎
文章中有附上鏈接可以直接預(yù)覽的:http://www.wulihub.com.cn/go/4Jrn8J/start.html#g=1&p=登錄頁面&c=1
請問這是用工具畫的 ??
好文,感謝~
新建部門這里會有沖突吧,我選擇了建立區(qū)域的平級,分類卻選擇部門或者其他非區(qū)域分類的分類,會有沖突
超級干貨
超贊,和我們的需求很類似。你這個(gè)原型是用Axure做的嗎?
厲害,現(xiàn)在在開發(fā)權(quán)限這塊,寫的思路比較清晰,尤其是數(shù)據(jù)權(quán)限這塊幫助很大
麻煩您加我一下qq1165889793。比較急 公司要0到1做一個(gè)oa 什么才是1.0最重要的啊 想問一下董小姐~我也姓董 本家 哈哈
學(xué)習(xí)了 學(xué)習(xí)了 感謝分享 最近也正好在思考權(quán)限系統(tǒng)的東西
學(xué)習(xí)了,但還是關(guān)于數(shù)據(jù)權(quán)限那些,還是有點(diǎn)不太了解,求指導(dǎo),18515381173微信,謝謝了!
我最近也在做通用的權(quán)限系統(tǒng),組織架構(gòu)那里有些問題,煩請指教,18211426147微信
看了之后想應(yīng)用到實(shí)際項(xiàng)目中,但發(fā)現(xiàn)會有一些疑問,求指點(diǎn)15210879205微信
值得學(xué)習(xí) 感謝董小姐的分享
角色 和部門之前有些疑問,求解答 13735898529
已加你
13735898529 微信
很詳細(xì),很具體,果斷支持
學(xué)習(xí)學(xué)習(xí),不過不太理解部門和部門負(fù)責(zé)人在整個(gè)權(quán)限系統(tǒng)里面起到的作用?
嗨,你好,覺得你寫的很詳細(xì),請問有這方面的參考書推薦嗎?
同求~
非常好~謝謝~
親,能提供下鏈接地址的登錄名密碼嗎?謝謝!
學(xué)習(xí)了,能說說數(shù)據(jù)庫是怎么設(shè)計(jì)的嗎
牛逼了,產(chǎn)品一般不涉及數(shù)據(jù)庫設(shè)計(jì)的
嗯 最近在學(xué)一些權(quán)限的東西,感覺很不錯(cuò),雖然我還是個(gè)菜鳥開發(fā),嘻嘻
慢慢來,梳理清楚就好了,加油 ??
目前我也在做權(quán)限管理,方便加下微信不? 1152481807
很棒的設(shè)計(jì)
親,能提供下鏈接地址的登錄名密碼嗎
不需要登錄名密碼哦,直接點(diǎn)擊登錄就可以進(jìn)去
正在做B2B平臺的后臺系統(tǒng),剛好看到這篇文章,讀完感覺真的很棒(尤其是“共享數(shù)據(jù)”這個(gè)功能,給我提供了一個(gè)很好的思路以及模塊拓展思路)
本身這個(gè)分享也是給大家提供一個(gè)邏輯、思路進(jìn)行參考,能夠?qū)δ阌兴鶐椭乙埠荛_心
加了QQ沒通過啊
都同意了的哦
額,為什么我看不到你的回復(fù)。。平臺出bug了么,有提示消息但是點(diǎn)進(jìn)來沒有內(nèi)容
917532427 微信
加個(gè)好友唄,同技術(shù)轉(zhuǎn)產(chǎn)品,聊聊
已加好友
到底是什么樣的奇女子才能寫出這樣的設(shè)計(jì),很棒,學(xué)習(xí)了!