四聯表模型

1. 概述

1.1 背景

企業中存在複雜的層級關係,不同層級的使用者擁有不同的的資料權限,並希望在查看業務資料時,不同層級的使用者僅可查看自己所擁有權限下的資料。

原始方案:使用一張權限寬表記錄使用者在不同維度上擁有的權限資訊,並在每個業務資料表上配置行權限。

注:本文範例使用品牌和區域維度來示範權限配置程式,使用者可根據實際場景調整維度。

範例權限寬表如下圖所示:

原始方案權限配置程式如下圖所示:

1.2 問題描述

原始方案在真實場景中,會出現以下問題:

  • 資料冗餘:使用者和維度權限間為多對多關係,權限寬表中有大量冗餘資訊

  • 權限寬表不易於動態權限配置:若新增一個維度,有 n 個不同的維度值,且當前權限寬表行數為 m ,則在權限寬表中最多需要插入 m * n 條記錄。

1.3 解決方案

我們提出「四聯表」模型,將一張權限寬表拆分成一張使用者資訊表、多個維度表和維度權限表,獨立維護使用者在不同維度上的權限資訊。

相較於原始方案,「四聯表」模型主要做了以下調整:

1)拆分權限寬表,即放棄原有的權限寬表,重建立立「使用者資訊表」、「維度表」和「維度權限表」。

2)使用「使用者資訊表」、「維度表」和「維度權限表」,聯合「業務資料表」共同搭建「四聯表」模型。模型搭建程式如下圖所示:

2. 操作步驟

2.1 資料準備

在配置行權限前,使用者需提前準備以下類型的資料表:

1)使用者資訊表:包含帳號等欄位,且帳號欄位值唯一。

2)維度表:包含維度欄位,且維度欄位值唯一。

3)維度權限表:包含帳號、維度等欄位,儲存使用者在該維度上的權限資訊。

4)業務資料表:包含維度等欄位,儲存該維度下實際的業務資料。

2.2 模型搭建

1)建立以下兩類聯動,詳情請參考:設定聯動 。

  • 聯動「使用者資訊表」與「維度權限表」,聯動關係為 1:N,記錄使用者擁有的不同維度的權限資訊。

  • 聯動「維度表」與「業務資料表」,聯動關係為 1:N ,用於後續業務資料的查詢。

2)設定登入使用者所在欄位。

3)開啟「維度表」和「業務資料表」的「組件資料」使用權限,詳情請參考:公共資料組件資料權限 。

4)在「維度表上」配置行權限,獲取到登入使用者有權限的維度。透過聯動,在業務資料表中查詢出相應維度下的資料。最終查看到多個維度的交集資料。

3. 動態配置行權限

企業的組織結構、職能部門、崗位等在經營中會經常發生變化,如何對變化部分進行資料權限配置呢?

3.1 新增維度

「四聯表」模型易於擴展維度。新增維度時,使用者需要配置相關聯動,並在新增的維度表上配置一次行權限即可,系統會自動取多個維度的交集資料。

具體操作步驟如下:

1)準備一張「維度表」和一張「維度權限表」。

2)建立以下聯動:

  • 聯動「使用者資訊表」與新增「維度權限表」,聯動關係為 1:N

  • 聯動「維度表」與相關「業務資料表」,聯動關係為 1:N

3)在新增的維度表上配置一次行權限。如下圖所示:

3.2 新增業務資料表

新增業務資料表時,無需配置行權限,與對應的維度表進行聯動即可。

例如:新增「業務資料表 XXX」 ,此表與「區域維度表」有邏輯關係,則將其與「區域維度表」進行聯動。如下圖所示:

4. 範例

公司領導、區域主管、區域組員間存在樹狀關係,需要根據不同門店維度為使用者分配不同權限。

實現效果為公司領導可以看到全部資料,區域主管看到對應區域的資料,區域組員只能看到自己的資料。詳情請參考:多層級權限分配 。

附件列表


主题: 管理系統
已经是第一篇
已经是最后一篇
  • 有帮助
  • 没帮助
  • 只是浏览
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙