FineBI伺服器版本
6.0
管理者可以透過設定列欄權限來實現不同使用者查看不同的資料,但若同時對部門、角色、使用者都設定了列欄權限,或者使用了聯動關係等複雜的設定,可能會達不到預期結果。
本文來說明列欄權限的一些特殊場景。
例:使用者 Alice 是技術支援部長,同時屬於普通角色,則在這三者(技術支援部長、普通角色、使用者 Alice)上設定資料表「品牌維度」的權限。
1)為Alice設定部門列權限,選擇「技術支援>部長」。
設定「其他>行業資料>零售行業>品牌維度」中的「品牌描述」欄位屬於「新百倫」。如下圖所示:
2)為 Alice 設定角色列權限,選擇「普通角色」。
設定「其他>行業資料>零售行業>品牌維度」中的「品牌描述」欄位屬於「HANG TEN」。如下圖所示:
3)為 Alice 設定使用者列權限,選擇「使用者最終權限> Alice」。
設定「其他>行業資料>零售行業demo>品牌維度」中的「品牌描述」屬於「十月媽咪」。如下圖所示:
Alice 帳號登入FineBI系統,最終結果是三個列權限條件取「或」關係。如下圖所示:
注:若為使用者單獨設定過使用/管理/授權權限,在設定權限後會出現黃色的人像標籤。此時若需要恢復對部門/角色權限的繼承,需要點選恢復繼承權限按鈕。彈出提示框「確定清除該使用者關於資料權限的單獨權限設定,恢復對部門/角色權限的繼承」,點選確定即可。如下圖所示:
例:使用者 Alice 既是技術支援部部長,又是普通角色,則在這三者(技術支援部部長、普通角色、使用者 Alice )上設定資料表的列權限。
注:部分設定列權限。
1)為 Alice 設定部門權限,選擇「技術支援>部長」。
2)為 Alice 設定角色權限,選擇「普通角色」。
3)為 Alice 設定使用者權限,選擇「使用者最終權限> Alice」。
設定「其他>行業資料>零售行業>品牌維度」的使用權限,不設定列權限。如下圖所示:
最終結果是配置的列權限取「或」關係,未配置列權限的角色和使用者不算在或關係中。如下圖所示:
例:公司部門層級關係為測試組 - 產品線1、產品線2,開發組 - 產品線1、產品線2 。 如下圖所示:
範例資料:員工資訊表.xlsx
1)新增員工資訊表至「業務包B」資料夾下,如下圖所示
2)使用者 Alice 既是產品線 1 的測試組成員,又是產品線 1 的開發組成員。
對整個測試組分配員工資訊表的權限,選擇 資料權限 Tab 下的「業務包B>員工資訊表」
設定行權限為「員工資訊表」中的「部門」欄位屬於「測試組」。如下圖所示:
3)对测试组下的产品线 1 组分配员工信息表的权限,选择 数据权限 Tab 下的「业务包B>员工信息表」
设置行权限为「员工信息表」中的「小组别」字段属于「产品线 1」 。如下图所示:
4)对整个开发组分配员工信息表的权限,选择 数据权限 Tab 下的「业务包B>员工信息表」
设置行权限为「员工信息表」中的「部门」字段属于「开发组」。如下图所示:
5)对开发组下的产品线 1 分配员工信息表的权限,选择 数据权限 Tab 下的「业务包B>员工信息表」
Alice 登入FineBI系統查看「員工資訊表」,Alice 可以看到產品線 1 測試組和產品線 1 開發組的資料。如下圖所示:
注:先根據部門層級間列權限取且,不同的部門間行權限再取或。
例:現有三張表:「產品名稱維度表」、「合同事實表」、「合同回款事實表」。聯動關係如下圖所示:
注:「產品名稱維度表」是「合同事實表」的主表,「合同事實表」是「合同回款事實表」的主表。
1)將「產品名稱維度表」、「合同事實表」新增至資料夾 A ,將「合同回款事實表」新增至資料夾 B ,並為使用者Alice設定「產品名稱維度表」和「合同回款事實表」的使用權限。如下圖所示:
2)管理者為使用者Alice設定資料夾A中「合同事實表」的列權限,購買的產品等於「1」 。如下圖所示:
1)普通使用者 Alice 登入FineBI系統查看,「合同事實表」的主表「產品名稱維度表」可以看到所有的資料,不會受到列權限的影響。如下圖所示:
2)「合同事實表」以及作為「合同事實表」的子表「合同回款事實表」只能看到購買的產品等於 1 的資料,受到了主表的列權限影響。如下圖所示:
例:現有三張表:「產品名稱維度表」、「合同事實表」、「客戶維度表」。聯動關係如下圖所示:
注:「產品名稱維度表」和「客戶維度表」都是「合同事實表」的主表。
1)對「產品名稱維度表」設定列權限產品 ID 大於等於 5 。如下圖所示:
2)對「客戶維度表」設定列權限,省份屬於上海市。如下圖所示:
3)對「合同事實表」設定使用權限,不設定列權限。如下圖所示:
Alice 登入FineBI系統查看「合同事實表」,「合同事實表」只能看到產品 ID 大於等於 5 並且客戶省份為上海市對應的客戶 ID 下的相關資料。 如下圖所示:
6.0 版本引入「空即是真」的列權限邏輯,即部門/職位/角色在配置了表權限的前提下,若沒有配置列權限,則對該表的列權限為 true(可以看到該表的全部資料),併入最終的列權限取或運算中。
注:若使用者上單獨配置了表的列權限,則不會將部門/職位/角色上的 true 列權限代入最終的行權限取或運算中。
超級管理者可透過以下配置項開啟/關閉「空即是真」的列權限邏輯,具體操作步驟請參考:填報修改fine_conf_entity 。
注:6.0 版本的新工程,預設使用「空即是真」的列權限邏輯。
由 5.x 版本升級至 6.0 版本的工程,預設不使用「空即是真」的列權限邏輯。
配置項
參數值
SystemOptimizationConfig.roleEmptyFilterAsTrueFilter
true:使用「空即是真」的行權限邏輯
false:不使用「空即是真」的行權限邏輯
範例:使用者 Alice 同時屬於角色A、角色B,則在這兩者(角色A、角色B)上設定資料表「品牌維度」的權限。
結果:若角色 A 對「品牌維度」設定了列權限,角色 B 不設定行權限,則最後使用者可以看到「品牌維度」所有的資料。
1)選擇「角色A」,設定「其他>行業資料>零售行業>品牌維度」中的「品牌描述」欄位屬於「HANG TEN」。如下圖所示:
2)選擇「角色B」,設定「其他>行業資料>零售行業>品牌維度」的使用權限,不設定列權限。如下圖所示:
Alice 登入 FineBI 系統查看「品牌維度」表,可以看到所有的資料,即最終的列權限為「HANG TEN」與「true」取並集。如下圖所示:
例如:在只開啟資料夾使用權限的情況下對列權限、欄權限進行設定,此時再開啟該資料夾的管理權限,之前設定的列權限依然是生效的,而欄權限則需要重新配置。
例:使用者 Alice 既屬於技術支援 ,又屬於普通角色。
1)對技術支援部門設定資料夾A 中「合同事實表」的欄權限,選擇欄位合同金額、合同付款類型、合同類型。如下圖所示:
2)對普通角色設定資料夾 A 中「合同事實表」的列權限,選擇欄位合同類型、是否已經交貨、合同簽約時間。如下圖所示:
3)此時再對使用者Alice設定列權限,選擇「合同事實表」的「購買的產品」欄位。如下圖所示:
使用者 Alice登入FineBI系統查看 「合同事實表」的介面,只顯示「購買的產品」欄位,則該使用者的列權限完全取決於對該使用者的設定,對部門角色的設定不再影響該使用者。如下圖所示:
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙