1. 概述
1.1 版本
報表伺服器版本 |
---|
11.0 |
1.2 功能簡介
使用者可以在兩種場景下開啟 FineReport 報表:
1)登入數據決策系統,在平台目錄中存取報表
2)將報表整合到其他系統中進行存取
在第一種情況下,可以透過權限管理來對使用者的是否擁有查看報表的權限進行管理。也可透過範本認證配置使用者是否擁有查看範本的權限。
在第二種情況下,通常需要透過範本認證來配置使用者是否擁有查看範本的權限,詳細內容參見:範本認證
而對於主報表中含有 網路報表 的超級連結,可通超連結開啟子報表的情況,則需要對主子報表均進行範本認證來保證資料的安全。
本文主要介紹,在開啟範本認證的情況下,報表中含有網路報表型別的超級連結的繼承權限問題。
注1:由於 URL 中超連結跳轉會帶上 hyperlinktoken,因而在半小時有效期內,擁有該 token 就能查看其他所有範本的資料,這會導致越權存取。故2019-12-05及之後版本的 JAR 包加上了使用者登入限制。
注2:FineReport 無分享功能,所謂的分享就是copy當前報表的 URL 給其他人。
1.3 注意事項
只有超連結方式為範本路徑時,超連結權限才能繼承。以下兩種方式不支援權限繼承:
1)參數直接寫在範本路徑後面
2)網頁連結中填寫範本預覽 URL
2. 邏輯說明
2.1 在平台中存取報表
該場景下只有三種型別的範本存取方式校驗範本權限:
1)使用「新增範本」的方式,將範本做為數據決策系統的首頁
2)使用「新增連結」的方式,將範本做為數據決策系統的首頁
3)使用「新增連結」的方式,將範本掛載到目錄
注:使用「新增範本」的方式掛載範本,不校驗範本權限。
2.1.1 範本設定
1)超級管理者登入數據決策系統,點選「管理系統>範本認證>認證配置」,開啟「範本認證」,選擇「角色權限認證」,點選「儲存」。如下圖所示:
2)點選「選擇」按鈕,設定主子報表均需要認證。
3)對使用者 eoco 設定主報表的查看權限,使用者 Tom 設定子報表查看權限,使用者 Anna 對主子報表均無查看權限,如下圖所示:
4)將主報表透過「新增連結」的方式,將範本掛載到目錄,併為使用者eoco設定主報表的查看權限,如下圖所示:
2.1.2 預覽效果
由於網路報表的超連結會繼承權限,所以使用者 eoco 登入資料決策平台後,透過主報表可以直接查看子報表(如下幾種開啟方式均可:新視窗/平台內新標籤/對話框/當前頁/平台內當前標籤頁開啟)。
使用者 eoco 將子報表的預覽連結發給使用者 Tom 和使用者 Anna,將存在如下兩種情況:
1)在登入逾時時間內:
使用者 Tom 存取連結,可查看子報表。
使用者 Anna 存取連結,需要登入數據決策系統,將出現提示:沒有存取權限。
2)在登入逾時時間外:
使用者 Tom 存取連結,需要登入數據決策系統,可查看子報表且範本資料會按使用者 Tom 的權限進行過濾。
使用者 Anna 存取連結,需要登入數據決策系統,將出現提示:沒有存取權限。
2.2 整合到其他系統中存取報表
將報表整合到自己的系統中開啟,該場景下使用者也需要透過範本認證配置範本權限。
這個時候超連結開啟的子報表,也需要繼承主報表權限。這個也很常見,因為在報表很多的情況下,管理者通常只會設定主報表的權限,超連結的子報表可能會很多,這個時候如果逐個設定權限會很麻煩。
同樣為了便於理解,給出詳細的使用者操作場景範例說明:
1)角色權限認證
操作場景 | 認證&權限 | 預覽效果 |
---|---|---|
使用者A>開啟主報表>超連結開啟子報表 |
|
|
使用者A>開啟主報表>超連結到子報表>copy子報表的 URL 到新的瀏覽器 |
| 存取連結將出現登入頁面
|
使用者A>開啟主報表>超連結到子報表>copy子報表的 URL 到同一瀏覽器的新標籤頁 |
|
|
2)僅認證使用者密碼
操作場景 | 認證&權限 | 預覽效果 |
---|---|---|
使用者A>開啟主報表>超連結到子報表 | 主報表和子報表均需要認證 |
|
使用者A>開啟主報表>超連結到子報表>copy子報表的 URL 到新的瀏覽器 | 主報表和子報表均需要認證 | 存取連結將出現登入頁面
|
使用者A>開啟主報表>超連結到子報表>copy子報表的 URL 到同一瀏覽器的新標籤頁 | 子報表需要認證 |
|
3)數字簽章
操作場景 | 認證&權限 | 預覽效果 |
---|---|---|
使用者A>開啟主報表>超連結到子報表 | 主報表和子報表都需要認證 |
|
使用者A>開啟主報表>超連結到子報表>copy子報表的 URL 到新的瀏覽器 | ||
使用者A>開啟主報表>超連結到報表2>copy子報表的 URL 到同一瀏覽器的新標籤頁 |
4)不開啟認證
操作場景 | 預覽效果 |
---|---|
開啟主報表>超連結到子報表 | 不需要登入,可一直查看主報表和子報表內容 |
開啟主報表>超連結到子報表>copy子報表的 URL 到新的瀏覽器 | 不需要登入,可一直查看報主報表和子報表內容 |
開啟主報表>超連結到報表2>copy子報表的 URL 到同一瀏覽器的新標籤頁 | 不需要登入,可一直查看主報表和子報表內容 |