權限管理的“前世今生”

19 評論 16285 瀏覽 177 收藏 12 分鐘

編輯導語:“權限管理”在日常生活中十分常見,它規(guī)定了用戶各自的角色和可使用的職能。那么,在B端產品中,“權限管理”應該如何設計?本篇文章里,作者針對權限管理系統(tǒng)的發(fā)展和設計策略做了解讀,一起來看一下吧。

什么是權限管理?百度百科解釋道:權限管理,一般指根據(jù)系統(tǒng)設置的安全規(guī)則或者安全策略 ,用戶可以訪問而且只能訪問自己被授權的資源,不多不少。

何為“不多不少”?簡單來講,就是“用戶”可以“做什么”,以及可以“做到什么程度”,都是通過權限管理來控制。

一、“前世”的權限縮影

在我們的生活當中,大到國家、政府,小到企業(yè)、家庭,到處都透露著“權限”的縮影。

以企業(yè)為例,不同的員工,所對應的崗位職責(也就是權限)也不同:

  1. 人力資源部經理張三負責公司的員工招聘工作,崗位職責是招人及員工管理;
  2. 而李四作為人力資源部的一名人事助理,其崗位職責則是員工信息的檔案管理。

以上舉例,局限于崗位職責。還有一些更加豐富、更加細膩的權限管理。比如:

  1. 張三是北京分公司的人力資源部經理,他只能夠管理北京分公司員工和北京分公司下屬的子公司(海淀子公司、朝陽子公司等)的員工;
  2. 王五是海淀子公司的人力資源部經理,他也只能夠管理海淀子公司的員工。

這些崗位職責和資源(也稱為數(shù)據(jù))直接相關,又稱為數(shù)據(jù)級權限管理。

二、“今生”的權限寫照

1、現(xiàn)實與權限管理的映射關系

在互聯(lián)網行業(yè)中,權限管理系統(tǒng)中的角色一般跟企業(yè)的組織架構是一致的:企業(yè)組織架構中的員工在什么崗位要做什么事情,跟權限管理系統(tǒng)中的用戶是什么角色被允許進行什么操作,是一種對應關系。

所以企業(yè)架構中的員工、崗位、職責和資源 ,分別對應了權限管理系統(tǒng)中的用戶、角色、權限和數(shù)據(jù)。

2、權限管理的分類

從控制力度來看,可以將權限管理分為兩大類:

  1. 功能級權限管理;
  2. 數(shù)據(jù)級權限管理。

從控制方向來看,也可以將權限管理分為兩大類:

  1. 從系統(tǒng)獲取數(shù)據(jù),比如查詢訂單、查詢客戶資料;
  2. 向系統(tǒng)提交數(shù)據(jù),比如刪除訂單、修改客戶資料。

系統(tǒng)層面的權限管理,主要還是從控制力度上來進行設計。

三、如何進行權限系統(tǒng)設計

權限系統(tǒng)主要由三大部分構成:用戶管理、角色管理、權限管理。

1、用戶管理設計

賬號作為一個用戶登錄系統(tǒng)的唯一身份標識,其主要通過用戶管理進行維護,一般包含有列表頁面、詳情頁面、新增頁面。

可以先設想下用戶管理大概需要用到哪些字段?梳理完的信息結構圖如下:

注:這里以最小可行性的字段設計為例,不同的企業(yè)所需要的字段要素會有所增減。

  • 用戶編號:作為用戶的唯一標識,一般由系統(tǒng)自動生成,由低到高遞增;
  • 用戶名:用戶用于登錄的賬號,一般支持字母、數(shù)字和下劃線,需區(qū)分唯一性;
  • 密碼:賬號登錄密碼,支持字母、數(shù)字和特殊字符,需區(qū)分大小寫;
  • 角色:數(shù)據(jù)來源于“角色管理”中已維護的角色,可支持多選。

“角色”為什么要支持多選?咱們下面再講。

為什么這里不設計一個詳情頁面?因為字段較少,列表已經能顯示下所有的字段要素,所以沒必要再新增一個詳情頁面。只有當列表頁顯示不下所有字段要素的時候,才有必要設計一個詳情頁來展示所有的用戶信息。

現(xiàn)在信息結構圖有了,接下來就可以開始設計原型,設計完的頁面如下:

(原型:用戶管理)

(原型:新增用戶)

2、角色管理設計

系統(tǒng)中用戶的權限是通過角色來控制,角色可以理解為具備一定權限的用戶組,也叫權限的集合,劃分角色的好處是可以大大降低用戶權限分配的重復性工作量。

“角色管理”的信息結構圖如下:

  • 角色編號:角色的唯一標識,一般由系統(tǒng)自動生成,由低到高遞增;
  • 角色名稱:主要用于識別,可限制不可出現(xiàn)相同的角色名稱;
  • 上級:選擇所屬上級角色,用于搭建組織架構。

根據(jù)信息結構圖所設計的頁面如下:

(原型:角色管理)

(原型:新增角色)

做到這里,“角色管理”還稱不上結束,因為還差一個最關鍵的“權限”。

3、權限管理設計

上文中已經講過,“權限”分為“功能權限”和“數(shù)據(jù)權限”。

“功能權限”可粗可細,粗可以到菜單級別,細則可達到功能按鈕級別。

“數(shù)據(jù)權限”有兩種處理方式:

  1. 一種是自動繼承組織架構關系,這種不涉及頁面配置,由程序根據(jù)用戶的從屬關系自動關聯(lián)。比如:銷售部經理可以查看整個部門的銷售數(shù)據(jù),而銷售部的普通員工則只能看到自己的銷售數(shù)據(jù);
  2. 另一種則是由人工自行配置,劃分所需要查看的數(shù)據(jù)權限。

那么,“角色管理”的信息結構圖,加上“權限”后顯示如下:

(橙色為新增“權限”部分)

在企業(yè)中,一個員工可以身兼多個崗位,一個崗位也可能有多個員工,所以員工和崗位是多對多的關系,由此可以得出“用戶”和“角色”之間也是多對多的關系。一個“角色”可以分配多個“權限”,同樣一個“權限”可以分配給多個“角色”使用,故“角色”和“權限”之間也是多對多的關系。

如果一個用戶擁有多個角色,那這個用戶的權限則取的是這多個角色權限的并集。

“角色管理”的頁面加上“權限”后如下:

(原型:角色管理)

(原型:配置數(shù)據(jù)權限)

(原型:配置功能權限)

另外,頁面上的功能權限展示,建議與系統(tǒng)模塊、菜單頁面的順序來排列好,便于用戶理解。

到此,權限系統(tǒng)差不多就設計完了,后續(xù)系統(tǒng)在不斷的更新迭代時,權限系統(tǒng)也需要做對應的調整。大到功能模塊的增、刪,小到功能命名的變更,權限系統(tǒng)都需要做到同步變更,以求一一對應。

四、總結

權限管理對于B端產品來說必不可少,權限管理具體應該做到什么程度,跟企業(yè)運營息息相關。在設計權限系統(tǒng)時,一定要結合企業(yè)發(fā)展,提前做好規(guī)劃,才能滿足業(yè)務需求。

 

作者:WOWdesign,研究設計價值最大化,涉及用戶體驗、品牌體驗、空間體驗。

本文由 @WOWdesign 原創(chuàng)發(fā)布于人人都是產品經理。未經許可,禁止轉載。

題圖來自Pexels,基于 CC0 協(xié)議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 請問數(shù)據(jù)權限要怎么具體設計呢?可以展開講講嗎

    來自江蘇 回復
  2. 有遇到同一個用戶對不同的數(shù)據(jù)范圍有不同的功能權限的嗎?好像說是完全數(shù)據(jù)驅動

    來自河南 回復
    1. 通過角色管理功能權限,通過組織架構管理數(shù)據(jù)權限;數(shù)據(jù)權限管理的常用方式:1、 數(shù)據(jù)權限可以通過組織架構的上下級來繼承; 2、除了繼承,支持自定義:按 全部數(shù)據(jù)、本部門及下級部門數(shù)據(jù)、本部門數(shù)據(jù)、本人數(shù)據(jù)等; 3、在自定義數(shù)據(jù)權限基礎上更進階的設計,是數(shù)據(jù)權限的多維度配置,比如一個銷售訂單,有銷售員、銷售部門、銷售區(qū)域等部門維度,也有產品1、產品2等類型維度,多維度數(shù)據(jù)可以交叉,然后去交集就是最終的數(shù)據(jù)權限。

      來自北京 回復
  3. 文章權限設計-頁面上線功能權限展示,這種比較適用于單個系統(tǒng)的權限管理配置。但權限管理系統(tǒng)基本可以抽象通用化,一般公司都維護一套權限管理系統(tǒng),定義好與各個業(yè)務系統(tǒng)接口調用即可。如果多個系統(tǒng)共用,功能權限展示可以定義成樹狀結構,每個系統(tǒng)獨自定義菜單、子菜單和功能即可,通用性會更強~

    來自北京 回復
    1. 這種需要公司各個系統(tǒng)用戶群一致吧?如果不同系統(tǒng)服務不同客戶就不行了。

      來自上海 回復
  4. 請問一下,對于列表數(shù)據(jù)的增刪改查是屬于數(shù)據(jù)權限還是功能權限呢???

    回復
    1. 功能權限

      來自浙江 回復
  5. 用戶可以跟部門掛鉤

    來自福建 回復
  6. 但是關于數(shù)據(jù)權限我有一個問題,配置數(shù)據(jù)權限時是選擇角色,但是角色是活的可以隨意配置的,這些角色各自能看到哪些數(shù)據(jù)該如何規(guī)定呢?

    來自北京 回復
    1. 給角色配權限就能滿足,比如財務這個角色只給他開放財務相關的權限

      來自廣東 回復
    2. 那如何定義哪些數(shù)據(jù)屬于財務方面的數(shù)據(jù)呢,是系統(tǒng)設計的時候定義好的嗎還是系統(tǒng)可以配置的?

      來自江蘇 回復
    3. 作者的意思大概是:給當前角色配置數(shù)據(jù)權限,如當前角色下還有若干個子角色,選擇自定義配置時選擇可以擁有哪幾個子角色的數(shù)據(jù)權限!我是這樣理解的,不知道對不對??

      回復
  7. 太棒了!條理清晰,還有原型展示,多謝作者分享!

    來自北京 回復
  8. 角色有上級 這個有點問題。個人感覺是把角色與崗位等同了,不太妥當

    回復
    1. 很多企業(yè)管理軟件都有這個設計,可能是方便使用

      來自江蘇 回復
    2. 角色把崗位等同,會導致角色數(shù)量變多,比如銷售部門:一組銷售組長、二組銷售組長; 用作者的方法,需要設置兩個角色。實際上兩個組長的功能權限是相同的,都叫“銷售組長”,不同的是數(shù)據(jù)權限,一組可以看一組負責的客戶數(shù)據(jù),二組組長可以看到二組負責的客戶數(shù)據(jù)。
      對于數(shù)據(jù)權限,應該是掛到用戶上;通過用戶的部門、上級來維護一套組織架構,實現(xiàn)數(shù)據(jù)權限的繼承。實現(xiàn)自定義數(shù)據(jù)權限,就是直接把某個用戶的數(shù)據(jù)給到 另外一個用戶

      來自北京 回復
  9. 對權限管理系統(tǒng)的發(fā)展和設計策略分析得很清晰,喜歡這種有思維導圖的文章。

    來自廣東 回復
  10. 角色管理為什么要有上級角色

    來自江蘇 回復
  11. 什么時候權限管理的設計能夠真正做到維護用戶隱私呢,感覺互聯(lián)網時代個人隱私越來越難得到保障了。

    來自湖北 回復