1. 概述
1.1 版本
报表服务器版本 | 功能变更 |
---|---|
11.0 | - |
1.2 问题描述
下载安装/本地安装插件时,提示「XXX插件安装包签名损坏,存在安全风险,无法安装」。如下图所示:
1.3 原因分析
下载安装/本地安装插件时,为了防止恶意篡改插件包中的代码,提供插件完整性校验功能。
若开启了插件完整性校验功能,如果插件包被解压/被破坏,下载安装/本地安装插件时,禁止此插件安装至系统。
2. 解决方法一:完全关闭校验
适用场景:本方案将会关闭工程的插件完整性校验,任何插件安装都不会进行校验,请谨慎进行本章操作。
方案简介:通过填报,修改 FineDB 中 PluginFileValidateConfig.fileValidateOpen 字段,关闭插件完整性校验。本文第二节使用了在平台中修改 FineDB 表字段的方案,在设计器中修改 FineDB 表字段的详细步骤可参见:填报修改fine_conf_entity 。
注:如工程未购买「数据录入」功能点,即无法使用填报功能,则不适用本章方案,请使用解决方案二。
2.1 新建数据连接
管理员登录数据决策系统,点击「管理系统>系统管理>常规」。
若外接数据库显示「待配置」,则finedb数据库信息可参见 FineDB 数据库简介。
若外接数据库显示「已配置」,点击即可查看外接finedb数据库的信息。
新建一个数据连接,数据连接名称为 FineDB,数据库相关配置信息可根据上文获取。
注:数据连接名称不可修改,否则下面的模板可能无法使用。
2.2 填报更新字段
使用设计器远程连接该工程,预览该模板:finedb字段修改.cpt
1)查找字段 PluginFileValidateConfig.fileValidateOpen,如果不存在该字段,则点击「添加记录」,新增该字段。
2)修改字段值为 false
3)点击「提交」
如下图所示:
2.3 重启工程
填报提交成功后,重启工程。重启后再次登录数据决策系统,即可关闭对上传的插件安装包的完整性校验功能。
3. 解决方法二:手动安装
适用场景:如需开启插件包完整性校验,但仍必须要安装某个签名无法通过校验的插件(例如二开插件),则可通过手动安装的方式安装插件。
方案简介:将其他工程中安装好的插件文件包,手动上传至指定服务器。
3.1 确定插件文件夹
1)FineReport 设计器所安装的插件存储在%FR_HOME%\webapps\webroot\WEB-INF\plugins 路径中,如下图所示:
注:路径下的文件夹必须是在设计器中安装插件生成的,不是官网下载的插件压缩包解压后得到的文件夹。
2)打开某个插件文件夹下的plugin.xml文件,可确定具体插件。如下图所示:
3.2 复制粘贴插件文件
将%FR_HOME%\webapps\webroot\WEB-INF\plugins下的plugin-com.fr.plugin.mobile.widget.date-10.4.55 文件夹复制粘贴到%Tomcat_HOME%\webapps\webroot\WEB-INF\plugins 路径下。如下图所示:
3.3 重启工程
手动安装插件后,需要重启报表工程,插件方可生效。
3.4 效果展示
重启后,管理员登录数据决策系统,点击「管理系统>插件管理」,可看到插件已成功安装。如下图所示: