反饋已提交
網絡繁忙
報表伺服器版本
有範本權限的使用者複製自己的 範本預覽類型介紹 給其他使用者,其他使用者即使沒有該範本的查看權限,也可以透過 URL 查看範本。
數字簽章認證則是即使有範本預覽 URL ,沒有數字簽章就無法查看範本。
1)透過數字簽章驗證簽章資訊合法後,才允許存取範本,否則傳回沒有範本存取權限的報錯。
2)存取 範本預覽類型介紹 時,需要在 URL 後新增後綴&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 節平台設定中用到。
程式碼如下所示:
import com.fr.cert.token.JwtBuilder;import com.fr.cert.token.Jwts;import com.fr.cert.token.SignatureAlgorithm;import java.util.Date;public class test { public static void main(String[] args) { //數字簽章有效時長(毫秒) long validTime = 30 * 60 * 1000L; //數字簽章內容,以存取資源的相對路徑作為內容 String path = "GettingStarted.cpt"; //修改為需要進行數字簽章認證的範本路徑,相對路徑,例如doc/xx.cpt String key = "123456"; //數字簽章金鑰,可以自訂 //生成fine_digital_signature String fine_digital_signature = createJwt("", "", path, validTime, key); //匯出fine_digital_signature System.out.println(fine_digital_signature); } private static String createJwt(String issuer, String id, String subject, long validTime, String key) { //用於生成數字簽章,即參數fine_digital_signature的值 SignatureAlgorithm signatureAlgorithm = SignatureAlgorithm.HS256; Date currentTime = new Date(); Date expirationTime = new Date(currentTime.getTime() + validTime); JwtBuilder builder = Jwts.builder() .setIssuer(issuer) .setSubject(subject) .setIssuedAt(currentTime) .setExpiration(expirationTime) .setId(id) .signWith(signatureAlgorithm, key); return builder.compact(); }}
3)運作 test 檔案並獲得數字簽章金鑰的fine_digital_signature值,如下圖所示:
運作結果的值會在本文 2.3 節效果預覽中用到。
管理者登入數據決策系統,點選「管理系統>範本認證>數字簽章金鑰地址」中,輸入金鑰值,如下圖所示:
直接存取 範本預覽類型介紹 ,本文範例連結為:http://localhost:8075/webroot/decision/view/report?viewlet=GettingStarted.cpt,提示沒有權限,如下圖所示:
在 URL 後面新增參數:&fine_digital_signature=值,「值」為本文 2.1 節運作 Java 檔案得到的資料,即可正常查看範本。如下圖所示:
為了方便製作範本,設計器遠端連結開啟了數字簽章認證的遠端伺服器,預覽範本時無需驗證數字簽章。
1)遠端設計,透過點選設計器上的預覽按鈕,預覽範本效果時,無需驗證數字簽章,可直接預覽範本。
2)跳出遠端設計時,設計器的範本預覽 URL 將會失去直接預覽的效果,必須驗證數字簽章,方可預覽範本。
如下圖所示:
注:範本預覽 URL 隨遠端設計使用者跳出而失效。即斷開遠端伺服器的連結,範本預覽 URL 將會失去直接預覽的效果。
超管希望對次級管理者開放範本認證功能,但不希望次級管理者使用「數字簽章認證」。
超級管理者可透過「fine_conf_entity視覺化配置插件」遮蔽數字簽章認證功能。重啟伺服器後設定生效。
注:修改 FineDB 資料庫表欄位值的方法請參考 FineDB常用表欄位修改 。
參數值如下,預設為true
false:管理者無法使用範本認證-數字簽章功能
true:管理者可使用範本認證-數字簽章功能
修改配置項 TemplateAuthConfig.digitalAuthAvailable 的值為 false,重啟伺服器後,管理者點選「管理系統>範本認證>認證配置」,可以發現認證方式中的「數字簽章認證」被遮蔽,無法設定。
注:在遮蔽「數字簽章認證」之前,請勿設定認證方式為「數字簽章認證」。否則遮蔽後認證仍然生效。
問題描述&原因分析:
如果開啟了範本認證:
1)使用者在數據決策系統查看目錄範本,無需額外經過範本認證
2)使用者在數據決策系統查看首頁範本,需要額外經過範本認證。
如果首頁掛載了範本A,使用者沒有範本A的範本認證權限,那麼使用者就看不到該首頁。提示「您沒有該頁面的存取權限」。
解決方案:
1)直接從範本認證中關閉對應範本的數字簽章認證,再從首頁的配置頁面掛載對應範本即可。
2)利用首頁的連結進行掛載,利用對應的URL+參數&fine_digital_signature=值即可。
其中的值為金鑰生成的數字簽章,而非金鑰,獲取方法見本文檔2.1節
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙