1. 概述
1.1 版本说明
插件版本 | 版本依赖 | 功能变动 |
---|---|---|
V1.0 | FineRpeort 版本:11.0 FineBI 版本:5.1.10 | - |
V2.0 | FineRpeort 版本:11.0.4 FineBI 版本:5.1.22 | 主服务器可挂载 BI 模板 |
V3.0 | FineRpeort 版本:11.0.6 FineBI 版本:5.1.24/6.0 FineDataLink 版本:4.0.4 | 插件更名为「多产品连接工具」,同时支持连接 FineDataLink |
1.2 应用场景
FineBI、FineReport、FineDataLink 分开部署时,需从不同入口进入平台进行操作,用户希望它们可联合登录,统一门户进行访问。
可通过安装「多产品连接工具」插件来实现,配置好后可以直接多平台切换,如下图所示:
1.3 前提条件
以某用户身份切换系统前需要确保该用户均在不同系统的用户管理中。
例如:
如果FR中有用户a,FDL中没有用户a,那么FR中用户a登录平台,是切换不到FDL的。
如果FR中有用户a,FDL中也有用户a,那么FR中用户a登录平台,是可以切换到FDL的,在FDL中是否有权限取决于FDL中用户a的权限。
注:若使用高版本浏览器,建议使用 v3.9.9 及之后版本的插件,否则使用插件时将提示:连接失败,请检查连接服务器地址。
2. 插件介绍
2.1 插件安装
插件下载请点击:多产品连接工具
插件安装方法参见:插件管理
2.2 配置入口
插件安装后平台「管理系统」下会新增一个「产品连接」入口,点进去后可以配置多平台切换。
2.3 插件说明
在哪个平台配置插件,那个平台就作为主服务器,插件配置里连接的其他平台都是从服务器。
只能在 FineRpeort 或 FineBI 配置插件,也就是只有这两个能作为主服务器,FineDataLink 是不能作为主服务器去配置插件的。
该插件仅供超级管理员配置主从服务器,且主从服务器的超管账号需要相同,也就是这几个平台的超管用户名要一致,密码可以不一致。
无法将配置主从服务器的权限分配给普通用户,但普通用户可以正常切换平台。
普通用户切换时,必须保证这几个平台里都有该用户的用户名,这样用户登录工程后,才能正常切换平台。
FineReport 和 FineBI 的集成平台也可以通过插件切换,集成介绍参见文档:BI&FR集成工程
插件配置时对工程并没有限制,可以任意搭配,例如:FR 为主服务器,BI 为从服务器;FR 为主服务器,FR 为从服务器;BI 为主服务器,FR 为从服务等等。
配置插件的平台作为主服务器,不支持配置自己作为从服务器,也就是不能自己连自己。
主服务器和从服务器需要关掉 安全防护 中的「点击劫持攻击防护」按钮和「内容嗅探攻击防护」按钮。
从服务器可以设置:Ajax 跨域异步单点登录、iframe跨域单点登录、参考 后台单点登录 文档设置的后台单点登录,不支持 CAS单点登录
从服务器地址只支持:http://ip:port/webroot/decision,不支持直接用 ip 访问的路径。
主从服务器使用协议需相同,只能 http 切换 http ,https 切换 https,http 和 https 不能互相切换,因为浏览器禁止 https 页面内生产 http 请求。
主从服务器不能跨大版本连接,必须保证都是 FineReport10.0 或 FineReport11.0 。
主从服务器如果配置了 nginx 转发,那 nginx.conf 中不要配置access-control-allow-Origin指定域,插件中已配置该项,nginx 如果再配置会导致重复,浏览器不允许重复配置。
主服务器用 ip 访问,然后安装插件进行主从服务器配置,此时从服务器中自动生成的主服务器地址就是 ip 访问的 URL 。配置完成后,主服务器只能用 ip 访问,然后去切换从服务器,主服务器不能使用域名访问再去切换从服务器。
从服务器不能配置 filter 单点拦截,否则切换平台将会失败。
从服务器不支持挂载主服务器的模板。
如果工程使用Tomcat中间件,请检查%Tomcat home%/conf目录下的web.xml里,是否存在<http-method>OPTIONS</http-method>,该语句会禁用OPTIONS请求,导致主从服务器间无法正常来回切换。请删除此句,并重启工程,方可正常使用该插件。
3. 配置步骤
本文示例中,FineReport 本地工程作为主服务器,FineBI 本地工程和 FineDataLink 工程作为从服务器。FineBI 或者FineDataLink 作为主服务器时同理配置即可。
3.1 前期准备
1)本文示例准备的三个工程分别如下,且必须保证三个工程的超管用户名一致,密码可以不同。
FineBI 本地工程
FineReport 本地工程
FineDataLink 工程
2)启动这三个工程,且这三个工程都安装了「多产品连接工具」插件。
3)从服务器 FineBI 和 FineDataLink 需要关闭「点击劫持攻击防护」按钮和「内容嗅探攻击防护」按钮。操作如下图所示:
4)若使用谷歌浏览器进入平台,需要关闭 samesite 属性,操作方法见文档:谷歌浏览器单点登录注意事项
3.2 连接从服务器
1)使用超级管理员帐号登录 FineReport 数据决策系统(主服务器),点击「管理系统>产品连接」,界面如下图所示:
2)点击「作为主服务器」按钮,开启插件配置功能,弹出的设置项中依次填写主服务器名称、FineBI 从服务器连接地址、FineBI 从服务器名称。
填写完后,点击右下角「测试连接并保存」按钮,出现“连接成功,已保存,刷新后生效”提示,即表示 FineBI 从服务器连接成功,如下图所示:
注:从服务器地址只支持 http://ip:port/webroot/decision 格式 ,不支持直接用 ip 访问的路径。
3)连接好的 FineBI 工程会显示在配置界面,且右侧提供了三个按钮,可以实现再次测试连接、重新编辑配置,删除该连接,如下图所示:
4)再点击「添加连接服务器」按钮,新增一个从服务器连接,连接 FineDataLink 工程,如下图所示:
5)连接好的两个工程如下图所示:
3.3 切换平台
点击 FineReport 决策系统右上角的切换按钮,即可在几个平台之间进行切换,如下图所示:
注:从服务器不能配置 filter 单点拦截,否则切换平台将会失败。
3.4 加密说明
配置界面下方有个 AES加密KEY 功能,这个是连接时传输 AES 加密的种子,默认值为 16 位字符串,不可手动编辑,只能随机生成。
点击「随机生成并同步」按钮,将同步到从服务器上,且只能在主服务器生成,从服务器未提供「随机生成并同步」按钮。
4. 挂载模板
4.1 挂载从服务器FR模板
如果从服务器中有 FineReport 工程,那么可以将该工程下的 FineReport 模板挂载到主服务器的目录下。具体操作方法如下:
1)点击「管理系统>目录管理>添加模板(来自从服务器)」,如下图所示:
2)可添加从服务器中的模板,添加模板具体步骤可参见文档:添加模板
需要注意以下几点:
模板参数类型不显示,默认字符串类型。
主服务器中点击「添加模板(来自从服务器)」按钮时,模板选择范围由从服务器中配置的 模板认证 决定。
主服务器中,目前只有目录管理节点可选择从服务器模板,其他地方不能选择。
主服务器有用户 a ,从服务器没有用户 a 。主服务器添加一个从服务器不需要认证的模板,用户 a 登录预览这个模板,会报错user not exist 。
如果要在 APP 上查看模板,必须同时更新 APP 和 H5 插件版本到 10.4.986 及之后版本才能实现。
4.2 挂载从服务器BI仪表板
如果从服务器有 BI 工程,那么 2.0 及以上版本的插件可以将 BI 仪表板挂载到主服务器的目录上去。具体操作方法如下:
1)保证主从服务器都是安装的 2.0 版本以上的插件,且从服务器必须有 BI 工程。
2)以主服务器为 FR 为例,点击决策系统的「管理系统>目录管理」选中某个目录点击「BI模板(来自从服务器)」,如下图所示:
3)选择 BI 服务器下的某张仪表板,如下图所示
4)设置模板这一步采用默认的即可,点击确定,如下图所示:
5)回到目录,可以看到仪表板已经挂载好了,点击可以直接查看:
挂载时需要注意两点:
BI 仪表板是否有权限,取决于从服务器配置的模板认证权限,详情参见:模板认证
如果从服务器非 BI,则仪表板列表为空。
5. 注意事项
5.1 插件未安装
问题描述
主从服务器都是 Tomcat 服务器且插件都已安装的情况下,建立连接时提示弹窗内容:「插件未安装」
解决方案
需要确认主服务器和从服务器的 %Tomcat_HOME%\conf\web.xml ,是否包含 <http-method>OPTIONS</http-method> 。
若包含此行命令,则删除此行命令,重启报表工程或 BI ,重新测试连接即可。