1. 概述
1.1 版本
報表伺服器版本 |
---|
11.0 |
1.2 應用場景
有範本權限的使用者複製自己的 範本預覽類型介紹 給其他使用者,其他使用者即使沒有該範本的查看權限,也可以透過 URL 查看範本。
數字簽章認證則是即使有範本預覽 URL ,沒有數字簽章就無法查看範本。
1.3 功能簡介
1)透過數字簽章驗證簽章資訊合法後,才允許存取範本,否則傳回沒有範本存取權限的報錯。
2)存取 範本預覽類型介紹 時,需要在 URL 後新增後綴&fine_digital_signature=值
2. 開啟數字簽章認證
2.1 獲取 fine_digital_signature 值
獲取對應的數字簽章金鑰的 fine_digital_signature 值,這裏以 GettingStarted.cpt 範本為例。
1)需要提前準備 Java 環境及 IDE 工具並建立一個 Java 檔案,將%FR_HOME%\webapps\webroot\WEB-INF\lib下的多個JAR包匯入建立的工程中,如下圖所示:
需要匯入的JAR包包括:fine-core-11.0.jar、fine-third-11.0.jar、fine-accumulator-11.0.jar、fine-cbb-11.0.jar
2)將程式碼複製到建立的檔案中,修改需要進行數字簽章的範本並自訂數字簽章金鑰。如下圖所示:
注:path 的值為範本路徑,相對路徑,形如doc/xx.cpt;key 的值為數字簽章金鑰,這兩個值會在本文 2.2 節平台設定中用到。
程式碼如下所示:
3)運作 test 檔案並獲得數字簽章金鑰的fine_digital_signature值,如下圖所示:
運作結果的值會在本文 2.3 節效果預覽中用到。
2.2 平台設定
管理者登入數據決策系統,點選「管理系統>範本認證>數字簽章金鑰地址」中,輸入金鑰值,如下圖所示:
2.3 效果預覽
直接存取 範本預覽類型介紹 ,本文範例連結為:http://localhost:8075/webroot/decision/view/report?viewlet=GettingStarted.cpt,提示沒有權限,如下圖所示:
在 URL 後面新增參數:&fine_digital_signature=值,「值」為本文 2.1 節運作 Java 檔案得到的資料,即可正常查看範本。如下圖所示:
3. 注意事項
3.1 遠端設計預覽範本無需驗證數字簽章
為了方便製作範本,設計器遠端連結開啟了數字簽章認證的遠端伺服器,預覽範本時無需驗證數字簽章。
1)遠端設計,透過點選設計器上的預覽按鈕,預覽範本效果時,無需驗證數字簽章,可直接預覽範本。
2)跳出遠端設計時,設計器的範本預覽 URL 將會失去直接預覽的效果,必須驗證數字簽章,方可預覽範本。
如下圖所示:
注:範本預覽 URL 隨遠端設計使用者跳出而失效。即斷開遠端伺服器的連結,範本預覽 URL 將會失去直接預覽的效果。
3.2 遮蔽數字簽章認證功能
超管希望對次級管理者開放範本認證功能,但不希望次級管理者使用「數字簽章認證」。
超級管理者可透過「fine_conf_entity視覺化配置插件」遮蔽數字簽章認證功能。重啟伺服器後設定生效。
注:修改 FineDB 資料庫表欄位值的方法請參考 FineDB常用表欄位修改 。
配置項 | 修改規則 |
---|---|
TemplateAuthConfig.digitalAuthAvailable | 參數值如下,預設為true false:管理者無法使用範本認證-數字簽章功能 true:管理者可使用範本認證-數字簽章功能 |
修改配置項 TemplateAuthConfig.digitalAuthAvailable 的值為 false,重啟伺服器後,管理者點選「管理系統>範本認證>認證配置」,可以發現認證方式中的「數字簽章認證」被遮蔽,無法設定。
注:在遮蔽「數字簽章認證」之前,請勿設定認證方式為「數字簽章認證」。否則遮蔽後認證仍然生效。
3.3 決策平台首頁無法查看
問題描述&原因分析:
如果開啟了範本認證:
1)使用者在數據決策系統查看目錄範本,無需額外經過範本認證
2)使用者在數據決策系統查看首頁範本,需要額外經過範本認證。
如果首頁掛載了範本A,使用者沒有範本A的範本認證權限,那麼使用者就看不到該首頁。提示「您沒有該頁面的存取權限」。
解決方案:
1)直接從範本認證中關閉對應範本的數字簽章認證,再從首頁的配置頁面掛載對應範本即可。
2)利用首頁的連結進行掛載,利用對應的URL+參數&fine_digital_signature=值即可。
其中的值為金鑰生成的數字簽章,而非金鑰,獲取方法見本文檔2.1節