1. 描述
軟體廠商購買了 FineReport 報表,需要將其嵌入到其自己的軟體中,然後再賣給最終使用者,並希望使用者不能對 FineReport 的所有範本進行編輯,同時不能建立範本,在 上一節 介紹了範本加密的設定方法,如果單純的使用 FineReport 提供的範本加密方式,最終使用者還是可以在加密了的工程下面建立範本,那如何避免最終使用者在加密了的工程下面建立範本呢,使使用者不能對加密工程進行任何再操作,只能查看範本。
2. 解決思路
軟體廠商可以透過範本加密和 license 一起來控制實現,將範本加密的金鑰寫到 FineReport 的 license 檔案中,即從 lic 檔案中控制加密工程,使得最終使用者不能編輯該工程下面的範本,也不能建立。
3. 步驟
3.1 範本加密
根據 上一節 的操作步驟給工程的所有範本進行加密,加密完成之後在%FR_Home%\webroot\WEB-INF\resources資料夾下生成一個 encryption.key 的檔案,如下圖:
此時就意味着範本加密已經完成。
3.2 lic 註冊
範本加密完成之後,軟體廠商需要給該工程進行註冊,向 FineReport 索要註冊檔案,並註明需要將加密金鑰放到 lic 檔案中,同時將解密金鑰傳送給 FineReport 商務,其操作過程請查看 FineReport伺服器註冊步驟,這裏不再贅述。
注:註冊時一定要說明需要將加密金鑰放到 lic 檔案中,併傳送金鑰給 FineReport 商務。
3.3 encryption.key 刪除
註冊完成之後,將%FR_Home%\webroot\WEB-INF\resources下面的 encryption.key 檔案刪除掉。
此時,當再次使用該工程時,就不能對工程下所有範本進行編輯,也不能建立範本。