同等權(quán)限下多任職之間數(shù)據(jù)權(quán)限的實(shí)例

3 評論 13520 瀏覽 89 收藏 9 分鐘

編輯導(dǎo)語:同等權(quán)限下多任職之間的數(shù)據(jù)權(quán)限應(yīng)該如何解決呢?本文作者提出了兩種解決方法,并且介紹了權(quán)限系統(tǒng)、權(quán)限分類和角色管理,希望看后能夠?qū)δ阌兴鶈l(fā)。

有兩種解決方案:

第一種實(shí)現(xiàn)難度低,不用跟組織架構(gòu)掛鉤,相對簡單,但是只適用于小公司團(tuán)隊(duì);第二種與組織架構(gòu)相關(guān),相對復(fù)雜。

  1. 第一種:將數(shù)據(jù)權(quán)限與功能權(quán)限區(qū)分開并與角色關(guān)聯(lián),數(shù)據(jù)權(quán)限可以將不同模塊的數(shù)據(jù)拆分成不同層級(jí)顆粒大小的數(shù)據(jù)集,與功能權(quán)限一樣,進(jìn)行勾選選擇即可;
  2. 第二種:是通過組織架構(gòu)的部門界定部門從屬關(guān)系,通過崗位界定人員從屬關(guān)系【關(guān)系到數(shù)據(jù)范圍】,比如員工在A、B兩個(gè)公司任職不同的崗位和角色,通過角色將組織信息帶出,然后選擇數(shù)據(jù)范圍和功能權(quán)限,切換組織可以解決不同組織同角色,同權(quán)限不同數(shù)據(jù)范圍的問題;

一、權(quán)限系統(tǒng)

當(dāng)使用RBAC(Role Based Access Control)模型進(jìn)行權(quán)限管理,相關(guān)概念包括權(quán)限,角色和用戶。

角色與權(quán)限綁定,即用戶的權(quán)限與其被賦予的角色相關(guān)。一個(gè)用戶可以擁有多個(gè)角色,一個(gè)角色也可以被添加給多個(gè)用戶,每個(gè)角色可以被賦予多個(gè)權(quán)限。

以下圖所示的結(jié)構(gòu)為例:用戶1只擁有角色1的權(quán)限,即對資源1進(jìn)行操作1;而由于用戶3擁有3個(gè)角色全部的權(quán)限,因此該用戶可以對資源1和資源2分別進(jìn)行操作1和操作2。

角色與權(quán)限綁定唯一例外是當(dāng)用戶為某資源的創(chuàng)建者時(shí),其對此資源的權(quán)限與該用戶綁定,與角色無關(guān)。

例如:用戶1擁有角色1,權(quán)限為可對資源1進(jìn)行操作1與2,若該用戶創(chuàng)建了資源2則擁有了對該資源的權(quán)限,而角色1并沒有權(quán)限對資源2進(jìn)行操作。

除非在權(quán)限管理中進(jìn)行修改, 用戶最終的權(quán)限為其所有擁有角色權(quán)限與資源創(chuàng)建者權(quán)限的并集。

二、權(quán)限分類

權(quán)限可分為資源權(quán)限、操作權(quán)限和數(shù)據(jù)權(quán)限三類,可通過角色管理實(shí)現(xiàn)對資源權(quán)限和操作權(quán)限的分配與管理,數(shù)據(jù)權(quán)限則由數(shù)據(jù)行級(jí)權(quán)限管理實(shí)現(xiàn)。

  1. 資源權(quán)限:資源包括菜單級(jí)別的權(quán)限,如訂單列表、收付款單表、庫存管理表等;
  2. 操作權(quán)限:操作權(quán)限包括對訂單數(shù)據(jù)的新增、編輯、查看、刪除等,對統(tǒng)計(jì)報(bào)表的新增、編輯、復(fù)制、查看、導(dǎo)出;
  3. 數(shù)據(jù)權(quán)限:數(shù)據(jù)權(quán)限即行級(jí)權(quán)限控制,在同一個(gè)菜單列表中,數(shù)據(jù)權(quán)限不同的用戶能夠看到的數(shù)據(jù)也不一樣,例如:小明只能看到小明自己的訂單數(shù)據(jù),東北地區(qū)的用戶只能看到東北數(shù)據(jù)。

三、角色管理

例如可以將角色分成三類:

1. 系統(tǒng)角色

系統(tǒng)角色由系統(tǒng)給出,只存放于根目錄。

系統(tǒng)角色包括:系統(tǒng)管理員、二級(jí)管理員、業(yè)務(wù)員、跟單員、經(jīng)理、美妝等,各角色的權(quán)限如下表所示的進(jìn)行設(shè)置。

2. 系統(tǒng)管理員將用戶賦予二級(jí)管理員

1)方法一

在用戶管理頁面,添加用戶、編輯用戶的操作中,賦予二級(jí)管理員,此時(shí)也可將一級(jí)角色美妝同時(shí)賦予。

2)方法二

在二級(jí)管理員界面,直接添加用戶。

二級(jí)管理員的項(xiàng)目中心中可創(chuàng)建角色,添加用戶和賦予操作權(quán)限。

3. 數(shù)據(jù)權(quán)限管理

支持對角色設(shè)置數(shù)據(jù)訪問權(quán)限,權(quán)限控制粒度可達(dá)到行和列級(jí)別。接下來將通過具體的示例來介紹如何設(shè)置行級(jí)權(quán)限及列級(jí)權(quán)限。

3.1 數(shù)據(jù)行級(jí)權(quán)限

當(dāng)我們希望業(yè)務(wù)經(jīng)理只能看到“銷售退款”地區(qū)的數(shù)據(jù),我們可以建立一個(gè)“數(shù)據(jù)行級(jí)權(quán)限”,然后設(shè)置數(shù)據(jù)訪問權(quán)限,只允許該角色成員訪問“銷售退款”付款項(xiàng)目的數(shù)據(jù),然后將該“數(shù)據(jù)行級(jí)權(quán)限”賦予該業(yè)務(wù)經(jīng)理即可。

下面我們將分步驟介紹設(shè)計(jì)與操作方法,將付款單表的數(shù)據(jù)添加行數(shù)據(jù)展示權(quán)限:

1)創(chuàng)建一個(gè)“數(shù)據(jù)權(quán)限”;

2)在行權(quán)限設(shè)置界面,選擇需要設(shè)置訪問權(quán)限的數(shù)據(jù)連接進(jìn)行設(shè)置;

3)選擇“添加列表篩選”,添加一個(gè)篩選條件(付款項(xiàng)目字段為“銷售退款”);

4)將該“數(shù)據(jù)行級(jí)權(quán)限”賦予特定的業(yè)務(wù)人員,則他們在訪問相關(guān)數(shù)據(jù)表時(shí),只會(huì)看到“銷售退款”付款單的數(shù)據(jù)。

當(dāng)我們的數(shù)據(jù)篩選條件比較復(fù)雜,涉及多個(gè)層級(jí)的篩選時(shí)(比如要篩選“銷售退款”付款項(xiàng)目跟“江蘇易棉電子商務(wù)有限公司”單位的數(shù)據(jù)),這時(shí)候可以使用樹狀篩選來實(shí)現(xiàn)。

3.2 樹狀篩選

1)我們可以選擇“添加樹狀篩選”來添加一個(gè)篩選條件

2)選擇需要設(shè)置篩選條件的表(sheet1付款單表),并勾選需要設(shè)置篩選條件的字段(這里我們勾選“付款項(xiàng)目”跟“收款單位”);

3)選擇需要的數(shù)據(jù)項(xiàng)(這里我們勾選“銷售退款”跟“江蘇易棉電子有限公司”),確定后生成篩選條件;

4)添加相關(guān)的成員(業(yè)務(wù)人員),即該成員有此數(shù)據(jù)權(quán)限,只能查看該付款單表的相關(guān)數(shù)據(jù)

通過對所有相關(guān)數(shù)據(jù)表的行數(shù)據(jù)進(jìn)行權(quán)限分配設(shè)定,權(quán)限控制粒度可達(dá)到行和列級(jí)別,能滿足大部分情況下的權(quán)限控制,可以精確到某一類角色,某一特定用戶等。

 

本文由@山人小道 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載

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

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評論
評論請登錄
  1. 請問作者,文中哪部分內(nèi)容描述指的是數(shù)據(jù)列的權(quán)限設(shè)置,我有點(diǎn)懵了/(ㄒoㄒ)/~~

    來自廣東 回復(fù)
  2. 作者可以分享一下原型的鏈接嗎

    來自廣東 回復(fù)
  3. 如果能舉例說說前面的兩種解決方案就更好了

    來自重慶 回復(fù)