同等權限下多任職之間數據權限的實例
編輯導語:同等權限下多任職之間的數據權限應該如何解決呢?本文作者提出了兩種解決方法,並且介紹了權限系統、權限分類和角色管理,希望看後能夠對你有所啓發。
有兩種解決方案:
第一種實現難度低,不用跟組織架構掛鈎,相對簡單,但是隻適用於小公司團隊;第二種與組織架構相關,相對複雜。
- 第一種:將數據權限與功能權限區分開並與角色關聯,數據權限可以將不同模塊的數據拆分成不同層級顆粒大小的數據集,與功能權限一樣,進行勾選選擇即可;
- 第二種:是通過組織架構的部門界定部門從屬關係,通過崗位界定人員從屬關係【關係到數據範圍】,比如員工在A、B兩個公司任職不同的崗位和角色,通過角色將組織信息帶出,然後選擇數據範圍和功能權限,切換組織可以解決不同組織同角色,同權限不同數據範圍的問題;
當使用RBAC(Role Based Access Control)模型進行權限管理,相關概念包括權限,角色和用户。
角色與權限綁定,即用户的權限與其被賦予的角色相關。一個用户可以擁有多個角色,一個角色也可以被添加給多個用户,每個角色可以被賦予多個權限。
以下圖所示的結構為例:用户1只擁有角色1的權限,即對資源1進行操作1;而由於用户3擁有3個角色全部的權限,因此該用户可以對資源1和資源2分別進行操作1和操作2。
角色與權限綁定唯一例外是當用户為某資源的創建者時,其對此資源的權限與該用户綁定,與角色無關。
例如:用户1擁有角色1,權限為可對資源1進行操作1與2,若該用户創建了資源2則擁有了對該資源的權限,而角色1並沒有權限對資源2進行操作。
除非在權限管理中進行修改, 用户最終的權限為其所有擁有角色權限與資源創建者權限的並集。
二、權限分類權限可分為資源權限、操作權限和數據權限三類,可通過角色管理實現對資源權限和操作權限的分配與管理,數據權限則由數據行級權限管理實現。
- 資源權限:資源包括菜單級別的權限,如訂單列表、收付款單表、庫存管理表等;
- 操作權限:操作權限包括對訂單數據的新增、編輯、查看、刪除等,對統計報表的新增、編輯、複製、查看、導出;
- 數據權限:數據權限即行級權限控制,在同一個菜單列表中,數據權限不同的用户能夠看到的數據也不一樣,例如:小明只能看到小明自己的訂單數據,東北地區的用户只能看到東北數據。
例如可以將角色分成三類:
1. 系統角色系統角色由系統給出,只存放於根目錄。
系統角色包括:系統管理員、二級管理員、業務員、跟單員、經理、美妝等,各角色的權限如下表所示的進行設置。
2. 系統管理員將用户賦予二級管理員1)方法一
在用户管理頁面,添加用户、編輯用户的操作中,賦予二級管理員,此時也可將一級角色美妝同時賦予。
2)方法二
在二級管理員界面,直接添加用户。
二級管理員的項目中心中可創建角色,添加用户和賦予權限,駕駛艙、郵件、抽取、分享和回收站等欄目下,二級管理員只能看到和自己相關的記錄。
一級角色只能由項目管理員創建,該角色可對出現駕駛艙、報告、大屏、數據源4個模塊有編輯權限,該角色可對用户賦予資源權限和操作權限。
一級角色列表在一級分類下,可存放於文件夾中。
3. 有數建議一級角色擁有以下權限1)報告
- 公共文件夾的新增、導出、分享、定時郵件
- 私人文件夾的新增、導出、分享、定時郵件
- 某些文件夾或報告的查看、導出、複製、編輯、分享、定時郵件
2)大屏
3)數據模型
4)數據連接
- 某些數據連接的查看,必須要有查看權限,獲得數據連接的列表,才能新建自定義SQL和新建數據模型
- 某些數據連接的自定義SQL
添加角色:點擊角色管理頁面的+按鈕可添加角色,輸入角色名稱,選擇角色類型為一級角色、添加描述及確認存儲位。
本文由@山人小道 原創發佈於人人都是產品經理,未經許可,禁止轉載。
題圖來自Unsplash,基於CC0協議