經驗總結:B端產品的數據權限設計

20 評論 30359 瀏覽 186 收藏 8 分鐘

上一篇給大家介紹了“功能權限”設計,本篇主要介紹“數據權限”設計,做B端用戶中心近半年,從一頭霧水到產品上線,總結出來一些經驗,希望能夠給到大家一些幫助。

“功能權限”控制的是用戶登錄系統(tǒng)后能看到哪些模塊,操作哪些按鈕;而“數據權限”控制的是用戶能夠看到的數據范圍。所謂數據范圍,不是指能看到的數據字段,而是指能查出來的數據集合。

例如,針對訂單管理列表頁,數據范圍可能是某個城市的全部訂單,也可能是某個門店的全部訂單,“某個城市”和“某個門店”決定了2種不同的數據范圍。

針對數據權限,常見的實現(xiàn)方案有兩種:通過組織機構樹實現(xiàn),或者是通過數據共享配置實現(xiàn)。下面,我們通過具體案例來講解這兩種方案。

方案一:通過組織機構樹實現(xiàn)

這種方案是根據用戶所在組織機構樹中的節(jié)點位置,來判斷用戶能夠操作的數據范圍,利用組織機構樹默認的上下級關系,支撐數據權限的配置。

該方案配置簡單,是常見的數據權限解決方案,通過下面的2個案例來為大家作具體闡述。

案例一:如何配置系統(tǒng)中各角色的數據權限

門店管理系統(tǒng)是用來幫助老板管理門店日常庫存、銷售、會員、促銷、營銷數據報表的一類軟件。

在一個門店管理系統(tǒng)中,我們設定組織機構為:總公司-省級分部-縣市級分部-門店4級架構;并創(chuàng)建好“默認管理員”“默認普通用戶”“默認經理用戶”三個角色;數據權限范圍分為:本人、本人及下屬、本部門、本部門及下級部門、全部。

圖1

如圖1所示,不同角色,可以根據實際需要,設置所需的數據權限范圍。

如“默認管理員”可配置“全部”數據權限,監(jiān)管整個公司的數據;“默認普通用戶”可配置“本人”數據權限,僅操作自己創(chuàng)建的數據;“默認經理用戶”可配置“本部門及下級部門”數據權限,操作本部門及下級部門員工創(chuàng)建的數據……

建議:

  • 數據權限的配置,可以根據操作系統(tǒng)用戶量的多少來決定,給賬號還是給角色配置數據權限。如果操作系統(tǒng)的用戶少的話,可以直接給賬號配置數據權限,更靈活。
  • 數據權限的范圍也不完全為“本人、本人及下屬、本部門、本部門及下級部門、全部”這5種范圍,可以根據實際業(yè)務需求調整。

案例二:通過組織機構圖來詳細闡述某個賬號的數據權限

圖2

如圖2所示,在一個門店管理系統(tǒng)中,自上而下設立了5級組織機構,各機構下分別開設賬號登錄系統(tǒng)。

“賬號1”是公司管理員角色,處于根節(jié)點的位置,且數據權限范圍是“全部”部門(即所有節(jié)點)。因此,在訂單管理等功能中,“賬號1”可以查看總公司及其所有子部門的訂單信息。

“賬號 2”是山東分公司管理員角色,是“山東分公司”的根賬號,且數據權限是“本部門及下級部門”(當前節(jié)點及其子節(jié)點,即山東分公司及其下屬全部部門)。因此,在訂單管理等功能中,“賬號 2”可以操作山東分公司及其下屬部門的全部訂單信息。

“賬號5”是營業(yè)部負責人角色,是末級節(jié)點“營業(yè)部1”的根賬號,且數據權限是“本部門”(當前節(jié)點,即營業(yè)部1)。因此,在訂單管理等功能中,“賬號5”可以操作營業(yè)部1的所有訂單信息,對于上級部門“市南分部”的數據卻沒有權限查看。

根據不同賬號的不同數據權限配置,賬號的數據可見范圍也不同。依托組織結構的上下級關系,可以迅速配置賬號數據權限,滿足業(yè)務需求。

方案二:通過數據共享配置實現(xiàn)

以賬號間的數據共享為例,通過配置某個賬號的什么數據共享給某個賬號,來解決賬號的數據可見范圍,默認每個賬號僅可操作自己創(chuàng)建的數據。

該方案比較靈活,可以單獨設置某個賬號每一項功能的數據共享給他人,但是配置起來很麻煩,后期維護也不易,通過案例三,我們來詳細闡述。

案例三:

圖3

如圖3所示,通過數據共享規(guī)則,將“賬號5”下“銷售信息管理”模塊的全部銷售信息的“只讀”權限,賦予“賬號6”,這樣“賬號6”登錄系統(tǒng)后,就能查詢到“賬號5”創(chuàng)建的銷售信息,擴大了數據范圍。

通過數據共享配置實現(xiàn)的數據權限,數據源可以來自某個賬號、某個角色、甚至某個部門等,數據權限也可以共享至某個賬號、某個角色或者某個部門,可以根據自身業(yè)務情況靈活設置。由于配置起來較麻煩,適合對數據權限有嚴格把控的業(yè)務場景,對于絕大部分公司,通過組織機構樹的方式實現(xiàn)數據權限的配置,就足夠了。

結語

數據權限一上線,B端功能模塊在設計的過程中,就必須要考慮到數據權限的應用場景,如該模塊的數據是否需要劃分數據權限?數據是默認歸屬于個人還是部門?如果有人員離職,是否涉及數據轉移給他人等。

總之,在權限設計過程中,多思考多嘗試,總會總結出一些規(guī)則,讓我們在后期少走彎路。

 

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

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

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 感謝分享

    來自四川 回復
  2. 感謝分享,大有收獲

    來自河南 回復
  3. 好文章,看了有收獲,感謝

    來自廣東 回復
  4. 本人及下屬是什么意思?怎么確定A員工是B員工的下屬呢?

    來自浙江 回復
    1. 組織機構樹吧

      來自北京 回復
  5. 疑問:
    在沒有數據規(guī)則的前提下怎么限定義自己所能看到的數據(有的單據是有直接負責人,有的是通過類似區(qū)域的規(guī)則間接指定負責人)?
    文章提到的:數據范圍可能是某個城市的全部訂單,也可能是某個門店的全部訂單。

    來自廣東 回復
  6. 權限是設計完再考慮,還是設計的一開始就要考慮

    來自內蒙古 回復
    1. 還是要看實際業(yè)務需求,有的系統(tǒng)體量小,用戶角色單一,其實是不需要的;
      但如果業(yè)務角色分工明晰,那一開始就需要考慮,哪怕一期不做,也要告知開發(fā)同學,架構上做好設計

      來自北京 回復
  7. 寫的很精簡,沒有廢話,很不錯。目前正在做B端的權限設計,希望能夠進一步和大佬交流。

    來自浙江 回復
    1. 謝謝鼓勵!

      來自北京 回復
  8. 1、組織的維度過于簡單,數據權限有很多自己行業(yè)特點的數據權限劃分,比如交易金額、行業(yè)、地區(qū)、行政級別、交易時間等等;
    2、哪些業(yè)務對象要使用數據權限,也有自己的行業(yè)特點,并非所有的數據都要使用數據權限;
    總之一句話,數據權限要根據自己的行業(yè)特點設計

    來自廣東 回復
    1. 請教下大佬,比如,交易金額,按照行業(yè)特點劃分是什么意思,項目經歷得還是太少??

      回復
    2. 有些公司的訂單就有金額數據權限一說,一定職級的人只能看到一個金額范圍的訂單。

      來自廣東 回復
    3. 恩恩 了解了~

      來自北京 回復
  9. 過于簡單權限設置,組織機構+商業(yè)業(yè)態(tài)的話,無法把控,數據權限,功能權限,字段權限,敏感數據權限等,可以到特殊獨立用戶角色,通用是到權限組

    來自四川 回復
    1. 來自廣東 回復
    2. 功能性的平臺,沒有特殊場景要求,做的不夠深入,多接觸多學習,謝謝大佬指點~

      回復
    3. 是的,與業(yè)務場景匹配的

      來自四川 回復
  10. 挺好的,正在做一塊,多交流~! ??

    來自廣東 回復
    1. 隨時交流呀

      回復