反饋已提交
網絡繁忙
權限細粒度控制是指標對範本內部的細節部分進行權限控制,比如說儲存格內容資料,元件、隱藏行列、工具欄,sheet,圖表等等。
不同的角色使用者登入系統,希望可操作的內容不一樣,比如說工具欄按鈕不一樣,範本預覽時,展示的儲存格不一樣,填報資料時,對某些元件擁有的編輯權限不一樣,查看資料時,看到的資料不一樣。
FineReport 對權限細粒度的控制提供了 2 種不同的控制方式,一個是完全視覺化的權限編輯,另外一個是根據 FineReport 提供的內建參數設定條件屬性來控制權限。
開啟設計器,點擊【範本】→【進入權限編輯】,即可在角色面板中選擇角色,對權限編輯面板中的儲存格、元件、工具欄、 sheet 等等內容在權限設定面板設定權限,如下圖1、圖2所示。
注1:角色面板中的角色列表自動載入平台系統中的角色,如果註冊檔案中包含決策平台功能,那麼就顯示為決策系統介紹,如果沒有登入該功能,則顯示管理平台。
注2:FineReport 暫時只支援對範本工具欄、元件、儲存格、懸浮元素、列欄和多 sheet 這幾個方面進行細粒度權限控制。
注3:視覺化權限編輯的詳細範例請查看權限細粒度工具欄控制 和權限細粒度範本內容控制。
使用者認證後會將報表三個固定的預設參數【$fine_username】、【$fine_role】、【$fine_position】儲存在 Session 中。同時提供兩個函式【GETUSERDEPARTMENTS()】、【GETUSERJOBTITLES()】來分別獲取部門角色的部門和職位。參數說明如下表所示。
同一報表環境下,範本中就可以直接以參數的形式獲取到對應的值,然後在範本里面進行篩選判斷就可以顯示不同資料及樣式。詳細範例請查看 權限細粒度參數控制。
注1:【$fine_username】、【$fine_role】、【$fine_position】 是 FineReport 預設參數,所以喚起時大小寫必須保持一致。
參數
說明
$fine_username
獲取登入系統的帳號,比如說登入帳號為 Anna,那麼$fine_username=Anna。
$fine_role
獲取登入系統的角色,如果是超管使用者登入,則$fine_role=superusers;如果是角色登入,比如說角色資料架構師使用者登入,$fine_role=資料架構師;如果是部門角色登入,該參數為空。
$fine_position
獲取部門職位,返回值為一個由部門和職位組成的陣列,比如說人力資源部長職位登入系統,那麼$fine_position={"departments":"人力資源","jobTitle":"部長"}。
GETUSERDEPARTMENTS()
獲取部門職位裏面的部門,比如說人力資源部長職位登入系統,那麼GETUSERDEPARTMENTS()=人力資源。
GETUSERJOBTITLES()
獲取部門職位裏面的職位,比如說人力資源部長職位登入系統,那麼GETUSERJOBTITLES()=部長。
問題描述:權限細粒度控制時,開啓同步資料集的時候,在設計器裏進行權限編輯時已配置角色中出現了內建資料集裏的部門【技術支援總調度】和【技術支援一線技術支援】,但同步資料集裏的部門中並沒有這兩個部門,而且有關【技術支援】的角色部門在決策系統的使用者頁面裏搜尋不到。
原因:demo 自帶的上報流程用到這兩個角色,因此在已配置角色裏預設顯示了這兩個角色,但不影響正常使用。
解決方案:在 FineReport 軟體中,點擊【伺服器】→【伺服器設定】,分別在【分頁預覽設定】,【填報頁面設定】,【資料分析設定】介面取消勾選【使用工具欄】。下圖1所示。
由於上述步驟把工具欄清空,若想實現權限細粒度的工具欄控制,可進入【範本】→【範本Web屬性】→【分頁預覽設定】,選擇【為該範本單獨設定】,新增範本所需要的工具。如下圖2所示。
文 檔回 饋
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉