1. 概述
1.1 版本
报表服务器版本 | 后台单点登录插件 | 功能变动 |
---|---|---|
11.0 | V1.0.0 | - |
V1.1.0 |
| |
11.0.4 | V1.1.1 |
|
11.0.16 | V1.2.2 | 适配新视觉风格 |
1.2 功能简介
安装「后台单点登录插件」后,即可实现后台单点,无需复杂代码,操作简单。
插件提供两种后台单点登录方案:
方案一:用户名不加密,可访问 http://ip:端口号/工程名/decision?fine_username=用户名实现单点登录。
方案二:用户名加密,可访问http://ip:port/工程名/decision?ssoToken=xxx(对用户名加密并转码后得到的结果)实现单点登录。并提供 ssoToken 超时设置功能,开启后,sso Token 将在达到「系统管理>登录>登录超时时间」后过期。
2. 插件介绍
2.1 插件下载
后台单点登录插件下载请点击:后台单点登录插件
设计器插件安装方法请参见:设计器插件管理
服务器安装插件方法请参见:服务器插件管理
2.2 页面介绍
插件安装后,超管进入平台,点击「管理系统>系统管理」,出现集成后台单点登录页面。如下图所示:
注:只有超管可见配置页面。
3. 方案一:用户名不加密
3.1 设置用户名不加密
插件安装成功后,选择「示例接口>保存」。如下图所示:
注:插件 V1.0.0 版本,忽略该步骤。
3.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 需要传入时间戳和用户名,重新生成,详情请参见:后台单点登录RSA示例代码
ssoToken 将在达到「系统管理>登录> 登录超时时间 」后过期。
如果使用过期的 ssoToken 单点登录数据决策系统,将报错:登录超时,请重新登录。如下图所示:
5. 注意事项
5.1 通过代码生成ssoToken
本文第四节中 ssoToken 的生成需要用户手动进行加密,在实际应用中,可使用代码自动生成 ssoToken,详情请参见:后台单点登录RSA示例代码
5.2 Decryption error
问题描述:
在新计算引擎情况下拼接 ssoToken ,通过访问链接http://ip:port/工程名/decision/view/report?viewlet=WorkBook.cptx&ssoToken=xxx在单点登录后跳转至 cptx 模板,解密失败,出现报错:ERROR [standard] Decrypt failed:Decryption error
原因分析:
FineReport 11.0.4 以及后台单点登录插件 V1.1.1 之前版本的新计算引擎请求无法适配 ssoToken 。
解决方案 1:将 cptx 格式的模板嵌入到 frm 格式的决策报表中,后台单点登录时对 frm 模板进行校验登录。
解决方案 2:开启 cptx 格式模板的模板认证,通过 cpt 格式模板的加载结束事件跳转至 cptx 模板,后台单点登录时对 cpt 模板进行校验登录