一個案例,三個角色,簡單說下B端產品的權限設計
理論性的內容我個人也是不擅長,所以就簡單的說說權限設計,忘同行不吝指教。
入行以來也接觸過一些B端產品,這些產品之中權限管理是重中之重,權限管理不僅僅是整個系統的一個小小的模塊,它一直貫穿整個系統,從登陸到操作到最后的登出。說它相當的復雜真不為過。
對于權限,如果從控制力來分的話,可以分為功能級權限和數據級權限。從控制方向來分的話又可以分為從系統獲取數據和向系統提交數據。一般來說,權限管理無非是圍繞著用戶,角色和資源三個方面來進行權限管理操作。
首先,設計的時候要面向開發人員友好,讓他們能夠很好的理解需求和流程。不至于因為權限的問題影響開發。實際上,一般權限設計都會讓在最后進行實現。因為前期考慮太多的權限會嚴重影響產品開發的流暢性。當然最重要的還是面向用戶友好,畢竟產品的使用者是用戶,所以邏輯清晰,結構完整的權限體系就顯得越發重要。
舉例:
派單系統
業務:系統的客戶在前臺提交一個訂單,后臺對應的接收到該訂單并分派給業務員給客戶完成服務。
角色:
- 老板—查看報表和人員角色修改
- 業務經理—1.業務管理(接單后對訂單進行派發)。2.對業務員進行行政管理(增刪改查)
- 業務員—接單處理,反饋訂單信息
第一種情況,簡單的完成權限設計
整理一下,從業務流程來看,涉及到的角色其實就是前臺的用戶,業務經理和業務員。
然后從功能來看:
這樣子系統的架構就能夠比較清晰的進行設計了。
菜單的總體結構如下:
1 訂單管理
- 1.1未處理訂單
- 1.2已派發訂單
- 1.3已處理訂單
- 1.4處理下派訂單
- 1.5提交已完成的下派訂單
2 系統設置
- 2.1密碼修改
- 2.2個人信息設置
3員工管理
- 3.1查看下級員工信息
- 3.2修改下級員工信息
- 3.3員工角色設置
4 報表管理
- 4.1查看報表
通過登錄的時候對賬號類型進行判斷或者不同角色通過不同的登錄頁面進入相應的系統頁面
老板的菜單顯示為:
2系統設置
- 2.1密碼修改
- 2.2個人信息設置
3員工管理
- 3.1查看員工信息
- 3.2修改員工信息
- 3.3員工角色設置
4報表管理
- 4.1查看報表
業務經理的菜單顯示為:
1訂單管理
- 1.1未處理訂單
- 1.2已派發訂單
- 1.3已處理訂單
2系統設置
- 2.1密碼修改
- 2.2個人信息設置
3員工管理
- 3.1查看下級員工信息
- 3.2修改下級員工信息
業務員的菜單顯示為:
1訂單管理
- 1.4處理下派訂單
- 1.5提交已完成的下派訂單
2系統設置
- 2.1密碼修改
- 2.2個人信息設置
這是第一種簡單的權限設計思路。但是,如果,如果boss對系統的擴展性要求較高,而非一個過渡性的系統。那邊就需要改變思路。重新設計系統了。
第二種情況,完成更加靈活且復雜的權限設計
在這種情況下就要考慮下現有的各種角色以及各種角色對應的操作是否是可修改的。未來是否會變更。
比如查看報表的權限后期業務經理業務查看?隨著業務的擴大,業務經理是否變成多個?boss是否能夠禁止業務經理的派單權限?在這種情況下,各種權限其實是變成可配置的了。
這個時候就需要轉化思路了。首先將所有的功能全部抽離并羅列出來。如下就是簡略的功能列表
其中,boss角色一開始就具備所有的功能。他可以創建下級角色—業務經理,創建的同時給業務經理這個角色分配權限(實現方式可以類似技能樹0.0)。也可以創建一個歸屬業務經理的業務員。這樣,權限,角色都是可進行靈活配置,擴展性和實用性也更強。
Step1:角色管理-添加角色
在這一步中進行角色的添加并分配權限。
Step2:用戶管理-添加用戶
在這個步驟中重點是給添加的用戶分配角色(即權限)
這樣子就將角色,用戶,權限分離開,管理也就更加的方便和靈活了。
但是值得注意的是,這三者之間的關聯性,對某一個的刪除,修改等操作是否會對其他部分產生影響。這個就需要產品經理在后面進行慢慢的梳理了。
如有錯誤,歡迎指正,謝謝。
本文由 @阿拉士奇 原創發布于人人都是產品經理。未經許可,禁止轉載。
或者,將角色在設計時直接固化,如業務經理、業務員等在流程中必須有的功能點,直接就固化了,不需要通過權限菜單去配置,后續就需要將不同的員工分配為業務經理/業務員就可以了
在功能權限設計上,應該結合流程節點,對流程從開始到結束所必須經歷的環節所涉及到功能點,在權限設置時應以流程導向的方向進行設置,避免因角色權限設置上的遺漏,導到流程走不下去。比如:上述示例中,假如因為遺漏,所有角色都沒配“分派訂單”這個功能點的權限,流程就走不下去了
寫的稍淺,如果有2個負責人,分管不同部門如何設置?人員有跨組織管理如何解決?這只解決了功能權限的設置,沒解決數據權限的分配設置
同意
能夠看出人群組織的奧秘
1、如果這個業務經理也擁有了【角色設置】&【權限設置】的權限,那這個業務經理是不是可以直接修改boss的權限,直接把boss干掉?
2、當這個業務經理設置了子賬號,二級業務經理設置了權限,那后面如果業務經理的賬號和權限被修改了,或者被拿掉了;那這個被他設置的子賬號,怎么辦
反感角色 提倡分組
謝謝,下次按分組的情況進行考慮。看看哪種方式更加實用當前項目,
為什么反感角色呢,個人感覺角色更靈活,對功能的拆分重組更適合,小白一枚,望解惑
角色的用法不太適應于流程性很強的應用,流程性很強的應用產品,更適合用“身份”來設計,如電商平臺的買家身份和賣家身份,身份就決定了這兩者進行流程分工時的責權利
身份這里希望多說一點,沒理解
確實不錯
謝謝