反馈已提交

网络繁忙

后台单点登录插件

  • 文档创建者:Carly
  • 历史版本:20
  • 最近更新:Carly 于 2026-03-20
  • 1. 概述

    1.1 版本

    报表服务器版本后台单点登录插件
    功能变动
    11.0V1.0.0
    -
    11.0V1.1.0
    • 新增 ssoToken 超时设置功能,开启后,ssoToken 将在达到「系统管理>登录>登录超时时间」后过期

    • 通过选择「用户名加密」按钮和「示例接口」按钮,切换用户名加密和不加密这两种方式

    11.0.4V1.1.1
    • URL 重定向,隐去访问链接中的用户名 fine_username 或者加密后的 ssoToken

    • 用户不存在报错时,提供跳转登录页的入口

    11.0.16V1.2.2
    • 适配新视觉风格

    1.2 功能简介

    当企业已有 OA 系统、统一门户或其他内部平台,希望用户在这些系统中点击链接即可直接进入 FineReport 报表,无需再次登录。

    后台单点登录(SSO,Single Sign-On)的核心思路是:由第三方系统(如 OA、门户等)构造一个携带身份信息的特殊 URL,用户点击后直接访问 FineReport,FineReport 从 URL 参数中提取并验证身份信息,验证通过后自动完成登录,无需用户手动输入账号密码。

    安装「后台单点登录插件」后,即可实现后台单点登录,无需编写复杂代码,操作简单插件提供以下两种后台单点登录方案:


    方案一:用户名不加密方案二:用户名加密(推荐)
    说明
    直接将用户名拼接至 URL 参数中

    对用户名进行 RSA 加密后拼接至 URL 参数中,安全性更高

    支持 ssoToken 超时设置,开启后,sso Token 将在达到「系统管理>登录>登录超时时间」后过期

    访问示例
    http://ip:端口号/工程名/decision?fine_username=用户名http://ip:port/工程名/decision?ssoToken=xxx(对用户名加密并转码后得到的结果)
    特点简单易用,但用户名明文暴露在 URL 中,安全性较低,适合内网或安全要求不高的场景用户名经过 RSA 加密,URL 中不暴露明文,安全性高,推荐在生产环境使用
    登录流程

    2. 插件介绍

    2.1 插件下载

    点击下载插件:后台单点登录插件

    2.2 配置页面

    插件安装成功后,超级管理员登录平台,依次点击「管理系统 > 系统管理」,即可进入「集成后台单点登录」配置页面。

    注:配置页面仅超级管理员可见,普通用户无权访问。

    3.png

    3. 方案一:用户名不加密

    3.1 配置步骤

    1)超级管理员登录平台,点击「管理系统 > 系统管理」,进入「集成后台单点登录」配置页面。

    2)选择「示例接口」,点击「保存」。

    注:插件 V1.0.0 版本无需执行此步骤,可直接跳至效果预览。

    4.png

    3.2 效果预览

    在浏览器中访问以下链接,即可实现单点登录:http://ip:端口号/工程名/decision?fine_username=用户名

    其中,「用户名」需替换为 FineReport 平台中已存在且可用的用户名。

    6.png

    4. 方案二:用户名加密

    注:启用方案二后,将不再支持通过 fine_username 参数的方式实现后台单点登录。支持的访问路径请参见本文 4.5 节。

    本方案使用 RSA 非对称加密对用户名进行加密,有效提升单点登录的安全性。

    4.1 生成 RSA Key

    • V1.1.0 及以上版本:插件安装后,Public Key 自动生成,无需手动操作。

    • V1.0.0 版本:需手动点击「生成 RSA Key」按钮进行生成。

    注意事项:

    • 仅支持生成默认 Key,不支持自定义 Key

    • 点击「生成 RSA Key」可重新生成,新 Key 将覆盖原有 Key,请谨慎操作。

    • 生成的 Key 仅支持 AES 传输加密,安装 Base64 插件无效,不支持国密算法

    2.png

    4.2 对用户名进行加密

    将生成的 RSA Key 和待登录的用户名,放入用户自备的加密代码中,对用户名进行 RSA 加密。

    注:下图使用加密网站进行加密(不提供示例网站,可自行百度)。实际生产环境中,请使用自有加密代码进行加密,避免依赖第三方网站,以保障密钥安全。

    28.png

    4.3 用户名解密测试(验证加密是否正确)

    将加密后的用户名输入「解密测试」框中,若能成功解密还原出原始用户名,则说明加解密流程正确,可继续后续步骤。

    9.png

    4.4 对加密结果进行 URL 转码

    加密后的用户名必须进行 URL 转码后才能正确嵌入访问链接中。用户可使用 encodeURIComponent 函数对加密结果进行转码。

    本文示例使用转码网站进行转码(不提供示例网站,可自行百度)

    29.png

    4.5 效果查看

    在浏览器中访问以下链接,即可实现用户名加密的后台单点登录:http://ip:port/工程名/decision?ssoToken=xxx(转码后的用户名)

    其中,xxx 为加密并转码后的用户名字符串。

    12.png

    4.6 ssoToken 超时设置

    版本要求:V1.1.0 及以上版本支持,默认不开启。

    功能说明:

    开启后,ssoToken 需要在生成时传入时间戳和用户名,详情请参见:后台单点登录RSA示例代码

    ssoToken 的有效期与「系统管理 > 登录 > 登录超时时间」保持一致,超时后自动过期。

    超时后的表现:

    使用已过期的 ssoToken 访问帆软系统时,将报错:登录超时,请重新登录

    5. 注意事项

    5.1 生产环境建议:通过代码自动生成 ssoToken

    第 4 节中演示的 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 模板进行校验登录



    附件列表


    主题: 部署集成
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持