搭建后臺(tái)系統(tǒng)權(quán)限系統(tǒng)的經(jīng)驗(yàn)總結(jié)
關(guān)于討論后臺(tái)系統(tǒng)中的權(quán)限系統(tǒng)的文章與理論有很多,而筆者就結(jié)合自己的認(rèn)知與項(xiàng)目經(jīng)驗(yàn),與大家分享搭建權(quán)限系統(tǒng)的要點(diǎn)。
作為后臺(tái)產(chǎn)品經(jīng)理,相信大家都有接觸過(guò)權(quán)限系統(tǒng),權(quán)限系統(tǒng)是后臺(tái)系統(tǒng)中不可缺少的部分,可以保證系統(tǒng)分工明確,不同部門、不同崗位的人員可以合理的使用系統(tǒng),減少因權(quán)限導(dǎo)致的指責(zé)劃分不明確等問(wèn)題。
今年6月份新入職了一家新公司,主要負(fù)責(zé)中臺(tái)項(xiàng)目,對(duì)公司的后臺(tái)系統(tǒng)進(jìn)行重構(gòu)規(guī)劃。
重構(gòu)的第一步需要搭建好一個(gè)好的權(quán)限系統(tǒng),發(fā)現(xiàn)公司的系統(tǒng)并沒(méi)有針對(duì)權(quán)限去做設(shè)計(jì),每個(gè)用戶在每個(gè)頁(yè)面的功能也沒(méi)有去做區(qū)分,需要單獨(dú)為每個(gè)賬號(hào)去配置權(quán)限,這樣存在的問(wèn)題是:
- 同部門的相同崗位人員具有相同的權(quán)限,后臺(tái)操作人員需重復(fù)配置多次權(quán)限。
- 若使用者身份變更,需要重新梳理進(jìn)行賦權(quán)。新增功能后,需要為每個(gè)賬號(hào)再進(jìn)行配置。
針對(duì)對(duì)公司權(quán)限系統(tǒng)存在的問(wèn)題,進(jìn)行重新規(guī)劃,新的權(quán)限系統(tǒng)功能模塊分為組織架構(gòu)管理、頁(yè)面菜單設(shè)置、角色權(quán)限管理、賬號(hào)管理四個(gè)模塊。針對(duì)這四個(gè)主要模塊,展開詳細(xì)的說(shuō)明。
一、組織架構(gòu)
組織架構(gòu)管理是對(duì)整個(gè)集團(tuán)公司的員工所屬組織進(jìn)行維護(hù)、更新的管理??筛鶕?jù)公司的實(shí)際情況,選擇組織架構(gòu)的層級(jí),組織架構(gòu)設(shè)計(jì)的要點(diǎn)如下:
1. 新增部門
點(diǎn)擊“添加”按鈕,需先選擇上級(jí)部門,部門級(jí)別為:集團(tuán)–>分公司–>一級(jí)部門–>二級(jí)部門,根據(jù)公司規(guī)模大小及發(fā)展需要,可相應(yīng)調(diào)整,上級(jí)級(jí)別選擇好后,則自動(dòng)帶出下級(jí)的分類,如上級(jí)部門選擇為分公司,則下級(jí)為一級(jí)部門。
點(diǎn)擊提交時(shí),需校驗(yàn)同級(jí)別部門下,不允許存在相同的部門名稱。在列表處,二級(jí)部門只允許創(chuàng)建同級(jí)別部門,其余分類可創(chuàng)建同級(jí)別或下級(jí)部門。
2. 停用/啟用部門
當(dāng)部門狀態(tài)為啟用時(shí),可以進(jìn)行停用操作,當(dāng)部門狀態(tài)為停用時(shí),可以進(jìn)行啟用操作,若停用上級(jí)部門時(shí),下級(jí)部門需同步都停用,但開啟上級(jí)部門時(shí),下級(jí)部門的狀態(tài)不變。
3. 刪除
刪除部門時(shí),需校驗(yàn)該部門下是否存在員工信息,存在則不允許刪除,且刪除上級(jí)級(jí)部門時(shí),下級(jí)部門需同步一起刪除。
下圖為組織架構(gòu)管理模塊的原型:
二、頁(yè)面菜單配置
頁(yè)面菜單權(quán)限的配置,也就是說(shuō)會(huì)將系統(tǒng)中各個(gè)頁(yè)面、包括菜單、頁(yè)面、功能操作按鈕等都配置好路由地址,配置完成歸根結(jié)底,權(quán)限是建立在菜單得基礎(chǔ)之上的,配置好頁(yè)面菜單就可以生成整個(gè)系統(tǒng)的權(quán)限樹,可以直接為權(quán)限去賦權(quán)了。
說(shuō)明:菜單級(jí)別可根據(jù)公司系統(tǒng)的量級(jí)進(jìn)行調(diào)整,不過(guò)一般不會(huì)超過(guò)三級(jí)菜單。
菜單類型可分為菜單目錄和按鈕,菜單目錄也就是菜單欄及點(diǎn)擊菜單所鏈接到的頁(yè)面,而按鈕一般承載在菜單目錄之下。
下圖為頁(yè)面菜單配置模塊的原型:
三、角色權(quán)限管理
角色權(quán)限就是操作權(quán)限與數(shù)據(jù)權(quán)限的權(quán)限合集,功能權(quán)限顧名思義,是用戶可以操作系統(tǒng)中的哪些具體的功能點(diǎn)或者是頁(yè)面中所有的功能點(diǎn),通過(guò)對(duì)角色權(quán)限的修改,可以實(shí)現(xiàn)對(duì)用戶權(quán)限的批量修改。
舉例來(lái)說(shuō):同部門中,比如我們公司活動(dòng)運(yùn)營(yíng)有10人,這10人擁有的權(quán)限是相同的,這種情況只需要?jiǎng)?chuàng)建一個(gè)活動(dòng)運(yùn)營(yíng)的角色,再將活動(dòng)運(yùn)營(yíng)的10名人員賦予此角色就可以了,簡(jiǎn)單方便。
而且,若系統(tǒng)增加權(quán)限時(shí),也不需要單獨(dú)去為這10名人員去配置,只需要將角色的權(quán)限進(jìn)行修改就可以了。
而數(shù)據(jù)權(quán)限指的是可以看到系統(tǒng)哪部分的數(shù)據(jù),設(shè)置是字段的限制等等,數(shù)據(jù)角色的權(quán)限劃分一般會(huì)從區(qū)域、分公司、部門等維度來(lái)限制。
而數(shù)據(jù)權(quán)限指的是賦權(quán)的角色可以看到系統(tǒng)的哪部分?jǐn)?shù)據(jù),數(shù)據(jù)角色的劃分一般可以選擇從區(qū)域、分公司、部門等維度來(lái)限制。
目前我做的權(quán)限系統(tǒng)中并沒(méi)有針對(duì)每個(gè)頁(yè)面功能都做數(shù)據(jù)權(quán)限的處理,只針對(duì)某些特殊功能,如訂單信息、銷量信息等敏感信息去處理,采用的方式是各分公司可以查看各分公司的數(shù)據(jù),總部可查看所有分公司的數(shù)據(jù),具體數(shù)據(jù)權(quán)限的設(shè)置,可以結(jié)合各公司的要求進(jìn)行更精準(zhǔn)的設(shè)計(jì)。
下圖為角色權(quán)限管理模塊的原型:
四、賬號(hào)管理
系統(tǒng)需由開發(fā)人員在數(shù)據(jù)庫(kù)初始化一個(gè)管理員角色,這個(gè)賬號(hào)不可刪除,但可以修改。可使用此管理員賬號(hào)去創(chuàng)建組織架構(gòu)、頁(yè)面菜單配置、角色付款及賬號(hào)創(chuàng)建等增刪改查功能。
為用戶創(chuàng)建賬號(hào)時(shí),需填寫好登錄用戶賬號(hào)名及密碼,選擇用戶角色,創(chuàng)建完成后,用戶即可使用此賬號(hào)登錄系統(tǒng)平臺(tái),即可操作和使用所用于的功能權(quán)限及數(shù)據(jù)權(quán)限。
下圖為賬號(hào)管理模塊的原型:
五、如何統(tǒng)計(jì)權(quán)限及賬號(hào)
日常工作中免不了要為公司員工配置賬戶及權(quán)限,許多公司都是直接由負(fù)責(zé)開通賬號(hào)的人員開通賬號(hào),可能就是口頭一句話就開通賬號(hào)了,但并沒(méi)有統(tǒng)一的去管理,人員離職或變動(dòng)也沒(méi)有去及時(shí)更新。
其實(shí)一個(gè)好的權(quán)限系統(tǒng),搭建好之后,也需要花費(fèi)時(shí)間去管理,才能發(fā)揮它的作用。
在我的工作中,一般會(huì)使用如下表格去統(tǒng)計(jì)人員的權(quán)限及哪些人員已開通賬號(hào),方便統(tǒng)計(jì)。拿出表格一看,一目了然。
好的權(quán)限系統(tǒng),并不是越復(fù)雜越好,需要結(jié)合公司的實(shí)際情況,進(jìn)行合理的設(shè)計(jì)。以上是我對(duì)權(quán)限系統(tǒng)的一些思考總結(jié),歡迎各位和我一起交流討論。
本人有3年多的產(chǎn)品經(jīng)理的工作經(jīng)驗(yàn),有互聯(lián)網(wǎng)金融及電商行業(yè)工作經(jīng)驗(yàn),目前從事偏向后臺(tái)產(chǎn)品經(jīng)理工作,會(huì)持續(xù)輸出對(duì)于后臺(tái)產(chǎn)品的一些想法和見解,希望可以對(duì)大家有幫助。在后臺(tái)產(chǎn)品的設(shè)計(jì)上還有很多地方需要學(xué)習(xí)的,也希望可以結(jié)實(shí)更多興趣相同的人一起共同學(xué)習(xí)。
本文由 @搞笑君同學(xué) 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。
題圖來(lái)自Unsplash,基于CC0協(xié)議。
茅塞頓開
菜單配置時(shí),按鈕應(yīng)該怎么添加呢?
請(qǐng)問(wèn)停用部門的話,那部門下的人員如何處理呢?
點(diǎn)擊停用的時(shí)候如果還有賬戶掛在該部門下,進(jìn)行提示:該部門正在使用中,暫時(shí)無(wú)法停用;點(diǎn)擊停用的時(shí)候如果查到?jīng)]有相關(guān)用戶掛在該部門下,直接停用
「頁(yè)面菜單配置」的目的是自動(dòng)生成權(quán)限項(xiàng)減少開發(fā)成本嗎?
首先給角色配置權(quán)限要有一個(gè)權(quán)限(功能)可選項(xiàng)的集合,[頁(yè)面菜單配置]實(shí)際上就是配置的這個(gè)集合,如果應(yīng)用層沒(méi)有這個(gè)配置功能,等于每增加一個(gè)功能和按鈕都需要開發(fā)在數(shù)據(jù)庫(kù)手工增加,效率非常低,到時(shí)候開發(fā)不用干活光配這個(gè)了。
有一些權(quán)限系統(tǒng)依賴公司整體賬戶及部門體系,只對(duì)業(yè)務(wù)系統(tǒng)做權(quán)限管理,此時(shí),只需要設(shè)置角色管理、系統(tǒng)菜單、以及給用戶添加角色幾方面即可。
部門管理是屬于OA系統(tǒng)的哈,權(quán)限系統(tǒng)只是引用了賬號(hào)的默認(rèn)組織結(jié)構(gòu)而已,如果想給A部門的組員,讓他能看到B部門的所有數(shù)據(jù),咋整,是不是。這就用到數(shù)據(jù)權(quán)限中的自定義組織范圍了
組織架構(gòu)權(quán)限可以歸類到菜單類權(quán)限;權(quán)限一般分到菜單級(jí)權(quán)限和字段級(jí)權(quán)限就夠啦,最主要的是把角色抽象出來(lái)
將功能和數(shù)據(jù)抽象,允許跟權(quán)限組和賬號(hào)做映射。