以政府項目為例,分析賬號權限管理的設計思路
本文將從創建賬號的流程入手,分析政府項目賬號權限體系的單位級別、屬性、角色劃分、賬號創建等內容。
工作原因做了一個政府機構的產品,里面涉及賬號權限管理,通過做這個項目,總結了一下關于B端產品的賬號權限管理方法。
客戶需求是建設一個完成政府某些業務流程的一個產品,包括App和Web端,要求不同單位的不同人員看到不同的模塊和數據。客戶的單位屬性是市局、市局各處室、各縣區局。市局統攬全部,市局各處室根據自己所管轄的不同行業來進行權限劃分、各縣市區局根據不同的區縣來進行權限劃分。
我們先從創建一個賬號的流程入手,看看都需要哪些組織和屬性。
01 單位級別、屬性
要創建一個賬號,首先要創建賬號所屬的單位及角色。這里我們只有兩級架構,所以可以分為一級單位和二級單位。一級單位即為市局,二級單位又分為兩種:市局各處室、各縣區局。
創建單位這個屬性,主要是為后面賬號的級別權限以及賬號的數據權限來打基礎。
這里客戶有一個要求,就是不同的單位需要根據管轄行業和管轄區縣來劃分數據權限。因此每個單位需要管轄行業和管轄區縣這兩個屬性。
那么一級單位和二級單位的權限分別是:
一級單位的級別權限:
- 功能權限:單位管理
- 數據權限:可以查看所有二級單位數據
二級單位的級別權限:
- 功能權限:無
- 數據權限:根據二級單位的管轄行業和管轄區縣的組合來進行劃分
02 角色劃分
1. 角色功能權限
根據跟客戶的溝通,功能角色權限劃分大致權限應該分為一下幾種:
一級單位角色:
- 局長:可以查看web所有模塊,但是僅限于查看,不能操作
- 主任:可以查看web所有模塊,并且可以添加單位、添加賬號、發布市級通知等
- 普通員工:可以查看web除了單位管理、賬號管理以外的模塊,也可以發布縣級通知、發布任務等
- 檢查員:在App端錄入檢查結果
二級單位角色:
- 主任:可以查看web所有模塊,并且可以添加單位、添加賬號、發布市級通知等
- 普通員工:可以查看web除了單位管理、賬號管理以外的模塊,也可以發布縣級通知、發布任務等
- 檢查員:在App端錄入檢查結果。
企業角色:在App端錄入自檢結果
角色功能權限(為角色分配功能、頁面、操作按鈕等權限)一共有以下幾種,權限如下:
2. 角色數據權限
角色數據權限(為角色分配業務數據的查看權限,依據的是業務數據中獨立存儲的數據的歸屬信息。):權限要分配到最小單元,細化到每個字段,比如添加賬號屬于二級單位時,角色里面只能展示二級單位的角色。
數據權限規則設置:
- 局長:所有單位、所有賬號、所有公告、自己單位管轄的企業的檢查數據、自檢數據
- 主任:自己單位所有單位、自己單位所有賬號、所有公告、自己單位管轄的企業的檢查數據、自檢數據
- 普通員工:所有公告、自己單位管轄的企業的檢查數據、自檢數據
- 檢查員:所有公告,自己所在單位管轄的企業檢查數據、自檢數據
- 企業:自己所在行業和區縣所有公告、自己企業的自檢數據,檢查數據
03 賬號創建
一級單位系統生成默認局長和主任賬號,由一級單位的主任角色創建一級單位的其他賬號及二級單位的主任角色,然后由二級單位的主任角色生成二級單位的其他角色。整個賬號體系就生成了。
04 總結
總的來說,整個賬號權限體系的思路是:
- 先設單位層級,分為一級單位和二級單位,用來生成賬號用,即一級單位可以生成二級單位,又可以管理二級單位。
- 再設單位屬性:管轄行業和管轄區縣,用來歸檔自己所管轄的企業,劃分每個單位下賬號的數據權限。
- 再劃分角色功能:從角色功能、頁面、字段來逐一細化每個角色的功能權限。
- 創建賬號,分配單位、角色。
以上為某政府機構完整的賬號設計流程。
本文由 @吃多糖牙會壞oO~? 原創發布于人人都是產品經理。未經許可,禁止轉載
題圖來自Unsplash,基于CC0協議
是我理解能力有問題還是文章表達問題,怎么看的這么累。
有幾個問題想詳細問一下;第一個;市可以給市中其他單位開賬號,這里僅僅設計到不同角色權限控制;但是市給各下級縣/區開賬號,如何同時區分,不同角色以及不同縣/區之間的權限?