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