1. 概述
1.1 版本
报表服务器版本 | JAR 包 | 后台单点登录插件 | 功能变动 |
---|---|---|---|
10.0 | 2020-04-26 | V1.0.0 | - |
V1.1.0 |
|
1.2 功能简介
安装「后台单点登录插件」后,即可实现后台单点,无需复杂代码,操作简单。
插件提供两种后台单点登录方案:
方案一:用户名不加密,可访问 http://ip:端口号/工程名/decision?fine_username=用户名实现单点登录。
方案二:用户名加密,可访问http://ip:port/工程名/decision?ssoToken=xxx(对用户名加密并转码后得到的结果)实现单点登录。并提供 ssoToken 超时设置功能,开启后,sso Token 将在达到「系统管理>登录>登录超时时间」后过期
2. 插件介绍
2.1 插件下载
后台单点登录插件下载请点击:后台单点登录插件
设计器插件安装方法请参见:设计器插件管理
服务器安装插件方法请参见:服务器插件管理
2.2 页面介绍
插件安装后,超管进入平台,点击「管理系统>系统管理」,出现集成后台单点登录页面。如下图所示:
注:只有超管可见配置页面。
3. 方案一:用户名不加密
3.1 设置用户名不加密
1)插件安装成功后,选择「示例接口>保存」。如下图所示:
注:插件 V1.0.0 版本,忽略该步骤。
3.2 效果查看
2)访问http://ip:端口号/工程名/decision?fine_username=用户名,「用户名」为任意平台已存在且可用的用户名。如下图所示:
4. 方案二:用户名加密
注:该方案不再支持访问http://ip:端口号/工程名/decision?fine_username=用户名实现后台单点登录,支持的访问路径请参见本文 4.5 节。
「后台单点登录插件」支持使用 RSA Key 对用户名加密来提高安全性。
4.1 生成 RSA Key
插件 V1.1.0 版本安装后,Public Key 自动生成。如下图所示:
注:插件 V1.0.0 版本,需要点击「生成RSA Key」按钮。
需注意以下几点:
只支持生成默认的 key ,不支持自定义。
生成 Public Key 后,点击「生成 RSA Key」,可重新生成且覆盖之前的 Key 。
生成的 key 只支持 aes 传输加密,安装 base64 插件无效,也不支持国密。
4.2 用户名加密
将生成的 RSA KEY 和用户名放到用户自己的加密代码中,对用户名进行加密。
1)此处用 加密网站 进行加密,实际用户建议使用自己加密代码进行加密。
2)加密步骤如下图所示:
4.3 用户名解密
将加密后的用户名,输入到「解密测试」中,若能成功解密出用户名,代表加解密的流程是正确的。如下图所示:
4.4 用户名转码
加密后的用户名需要转码才能嵌入 URL 中,用户可使用encodeURIComponent对加密用户名进行转码。
本文示例使用 转码网站 进行转码,如下图所示:
4.5 效果查看
访问链接:http://ip:port/工程名/decision?ssoToken=xxx(编码后的结果),实现用户名加密的后台单点登录。如下图所示:
4.6 ssoToken 超时设置
V1.1.0 版本新增该功能,默认不开启。开启后,ssoToken 将在达到「系统管理>登录>登录超时时间」后过期。
V1.0.0 版本对用户名进行 rsa 加密,V1.1.0 版本对下面这个 JSON 字符串进行 rsa 加密,其中 username 为用户名,issueTime 为当前毫秒时间戳。
{
"username": "1",
"issueTime": 1638434945973
}
若用户使用 后台单点登录RSA示例代码 实现的单点登录,开启「ssoToken 超时设置」功能后,需要修改代码接口,如果不修改,ssoToken 无法成功单点登录(进入平台登录页的效果)。代码接口请参见:后台单点登录RSA示例代码 的 2.2.2 节内容。
如果使用的 ssoToken 超时,将报错:登录超时,请重新登录。如下图所示:
5. 注意事项
5.1 Decryption error
问题描述:
在新计算引擎情况下拼接 ssoToken ,通过访问链接http://ip:port/工程名/decision/view/report?viewlet=WorkBook.cptx&ssoToken=xxx在单点登录后跳转至 cptx 模板,解密失败,出现报错:ERROR [standard] Decrypt failed:Decryption error
原因分析:
FineReport 10.0 版本中的新计算引擎请求无法适配 ssoToken 。
解决方案 1:将 cptx 格式的模板嵌入到 frm 格式的决策报表中,后台单点登录时对 frm 模板进行校验登录。
解决方案 2:开启 cptx 格式模板的模板认证,通过 cpt 格式模板的加载结束事件跳转至 cptx 模板,后台单点登录时对 cpt 模板进行校验登录。