當前為10.0版本文檔,更多實例內容將在最新幫助文檔中展現,點選跳轉至 最新版幫助文檔

權限細粒度控制

1. 概述

1.1 版本

報表服務器版本
10.0

1.2 功能簡介

權限細粒度控制是指針對模板内部的小處方面進行權限控制,比如說單元格内容數據,控件、隐藏行列、工具欄,sheet,圖表等等。

不同的角色用戶登錄系統,希望可操作的内容不一樣,比如說工具欄按鈕不一樣,模板預覽時,展示的單元格不一樣,填報數據時,對某些控件擁有的編輯權限不一樣,查看數據時,看到的數據不一樣。

2. 權限細粒度

FineReport 對權限細粒度的控制提供了 2 種不同的控制方式,一個是完全可視化的權限編輯,另外一個是根據 FineReport 提供的内置參數設置條件屬性來控制權限。

2.1 權限編輯

打開設計器,點擊模板>進入權限編輯,即可在角色面板中選擇角色,對權限編輯面板中的單元格、控件、工具欄、 sheet 等等内容在權限設置面板設置權限,如下圖所示:
222
注1:角色面板中的角色列表自動加載平台系統中的角色,如果注冊文件中包含決策平台功能,那麽就顯示爲數據 數據決策系統       如果沒有注冊該功能,則顯示管理平台。

注2:FineReport 暫時只支持對模板工具欄、控件、單元格、懸浮元素、行列和多 sheet 這幾個方面進行細粒度權限控制。

注3:可視化權限編輯的詳細示例請查看權限細粒度之工具欄控制 權限細粒度之模板内容控制

2.2 參數權限控制

用戶認證後會将報表三個固定的默認參數$fine_username$fine_role$fine_position保存在 Session 中。

同時提供兩個函數GETUSERDEPARTMENTS()GETUSERJOBTITLES()來分别獲取部門角色的部門和職位。

同一報表環境下,模板中就可以直接以參數的形式獲取到對應的值,然後在模板裏面進行篩選判斷就可以顯示不同數據及樣式。

  • $fine_username獲取登錄系統的用戶名,比如說登錄用戶名爲 Anna,那麽$fine_username=Anna

  • $fine_role獲取登錄系統的角色,如果是超管用戶登錄,則$fine_role=superusers;如果是角色登錄,比如說角色數據架構師用戶登錄,$fine_role=數據架構師;如果是部門角色登錄,該參數爲空。

  • $fine_position獲取部門職位,返回值爲一個由部門和職位組成的數組,比如說人力資源部長職位登錄系統,那麽$fine_position={"departments":"人力資源","jobTitle":"部長"}

  • GETUSERDEPARTMENTS()獲取部門職位裏面的部門,比如說人力資源部長職位登錄系統,那麽GETUSERDEPARTMENTS()=人力資源

  • GETUSERJOBTITLES()獲取部門職位裏面的職位,比如說人力資源部長職位登錄系統,那麽GETUSERJOBTITLES()=部長

注1:$fine_username、$fine_role、$fine_position 是 FineReport 默認的參數,所以調用時大小寫必須保持一緻。

詳細示例請查看 權限細粒度之參數控制

3.注意事項

3.1 注意事項一

問題描述:權限細粒度控制時,開啓同步數據集的時候,在設計器裏進行權限編輯 已配置角色中出現了内置數據集裏的部門「技術支持總調度」和「技術支持一線技術支持」,但同步數據集裏的部門中并沒有這兩個部門,而且有關「技術支持」的角色部門在決策系統的用戶頁面裏搜索不到。

原因:demo 自帶的上報流程用到這兩個角色,因此在已配置角色裏默認顯示了這兩個角色,但不影響正常使用。

解決方案:在 FineReport 軟件中,點擊服務器>服務器配置,分别在「分頁預覽設置」,「填報頁面設置」,「數據分析設置」界面去掉「使用工具欄」前的對勾。具體情況如下所示:

13.png

由於上述步驟把工具欄清空,若想實現權限細粒度的工具欄控制,可點擊模板>模板Web屬性,添加模板所需要的工具。具體情況如下所示:

9.png



索引:

權限細粒度之工具欄控制

權限細粒度之模板内容控制

權限細粒度之參數控制

權限細粒度完整示例

附件列表


主題: 原簡體文檔
  • 有幫助
  • 沒幫助
  • 只是瀏覽

文 檔回 饋

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

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

不再提示

9s後關閉

反饋已提交

網絡繁忙