關于討論后臺系統中的權限系統的文章與理論有很多,而筆者就結合自己的認知與項目經驗,與大家分享搭建權限系統的要點。
作為后臺產品經理,相信大家都有接觸過權限系統,權限系統是后臺系統中不可缺少的部分,可以保證系統分工明確,不同部門、不同崗位的人員可以合理的使用系統,減少因權限導致的指責劃分不明確等問題。
今年6月份新入職了一家新公司,主要負責中臺項目,對公司的后臺系統進行重構規劃。
重構的第一步需要搭建好一個好的權限系統,發現公司的系統并沒有針對權限去做設計,每個用戶在每個頁面的功能也沒有去做區分,需要單獨為每個賬號去配置權限,這樣存在的問題是:
針對對公司權限系統存在的問題,進行重新規劃,新的權限系統功能模塊分為組織架構管理、頁面菜單設置、角色權限管理、賬號管理四個模塊。針對這四個主要模塊,展開詳細的說明。
一、組織架構
組織架構管理是對整個集團公司的員工所屬組織進行維護、更新的管理。可根據公司的實際情況,選擇組織架構的層級,組織架構設計的要點如下:
1. 新增部門
點擊“添加”按鈕,需先選擇上級部門,部門級別為:集團–>分公司–>一級部門–>二級部門,根據公司規模大小及發展需要,可相應調整,上級級別選擇好后,則自動帶出下級的分類,如上級部門選擇為分公司,則下級為一級部門。
點擊提交時,需校驗同級別部門下,不允許存在相同的部門名稱。在列表處,二級部門只允許創建同級別部門,其余分類可創建同級別或下級部門。
2. 停用/啟用部門
當部門狀態為啟用時,可以進行停用操作,當部門狀態為停用時,可以進行啟用操作,若停用上級部門時,下級部門需同步都停用,但開啟上級部門時,下級部門的狀態不變。
3. 刪除
刪除部門時,需校驗該部門下是否存在員工信息,存在則不允許刪除,且刪除上級級部門時,下級部門需同步一起刪除。
下圖為組織架構管理模塊的原型:
二、頁面菜單配置
頁面菜單權限的配置,也就是說會將系統中各個頁面、包括菜單、頁面、功能操作按鈕等都配置好路由地址,配置完成歸根結底,權限是建立在菜單得基礎之上的,配置好頁面菜單就可以生成整個系統的權限樹,可以直接為權限去賦權了。
說明:菜單級別可根據公司系統的量級進行調整,不過一般不會超過三級菜單。
菜單類型可分為菜單目錄和按鈕,菜單目錄也就是菜單欄及點擊菜單所鏈接到的頁面,而按鈕一般承載在菜單目錄之下。
下圖為頁面菜單配置模塊的原型:
三、角色權限管理
角色權限就是操作權限與數據權限的權限合集,功能權限顧名思義,是用戶可以操作系統中的哪些具體的功能點或者是頁面中所有的功能點,通過對角色權限的修改,可以實現對用戶權限的批量修改。
舉例來說:同部門中,比如我們公司活動運營有10人,這10人擁有的權限是相同的,這種情況只需要創建一個活動運營的角色,再將活動運營的10名人員賦予此角色就可以了,簡單方便。
而且,若系統增加權限時,也不需要單獨去為這10名人員去配置,只需要將角色的權限進行修改就可以了。
而數據權限指的是可以看到系統哪部分的數據,設置是字段的限制等等,數據角色的權限劃分一般會從區域、分公司、部門等維度來限制。
而數據權限指的是賦權的角色可以看到系統的哪部分數據,數據角色的劃分一般可以選擇從區域、分公司、部門等維度來限制。
目前我做的權限系統中并沒有針對每個頁面功能都做數據權限的處理,只針對某些特殊功能,如訂單信息、銷量信息等敏感信息去處理,采用的方式是各分公司可以查看各分公司的數據,總部可查看所有分公司的數據,具體數據權限的設置,可以結合各公司的要求進行更精準的設計。
下圖為角色權限管理模塊的原型:
四、賬號管理
系統需由開發人員在數據庫初始化一個管理員角色,這個賬號不可刪除,但可以修改。可使用此管理員賬號去創建組織架構、頁面菜單配置、角色付款及賬號創建等增刪改查功能。
為用戶創建賬號時,需填寫好登錄用戶賬號名及密碼,選擇用戶角色,創建完成后,用戶即可使用此賬號登錄系統平臺,即可操作和使用所用于的功能權限及數據權限。
下圖為賬號管理模塊的原型:
五、如何統計權限及賬號
日常工作中免不了要為公司員工配置賬戶及權限,許多公司都是直接由負責開通賬號的人員開通賬號,可能就是口頭一句話就開通賬號了,但并沒有統一的去管理,人員離職或變動也沒有去及時更新。
其實一個好的權限系統,搭建好之后,也需要花費時間去管理,才能發揮它的作用。
在我的工作中,一般會使用如下表格去統計人員的權限及哪些人員已開通賬號,方便統計。拿出表格一看,一目了然。
好的權限系統,并不是越復雜越好,需要結合公司的實際情況,進行合理的設計。以上是我對權限系統的一些思考總結,歡迎各位和我一起交流討論。
本人有3年多的產品經理的工作經驗,有互聯網金融及電商行業工作經驗,目前從事偏向后臺產品經理工作,會持續輸出對于后臺產品的一些想法和見解,希望可以對大家有幫助。在后臺產品的設計上還有很多地方需要學習的,也希望可以結實更多興趣相同的人一起共同學習。