反饋已提交

網絡繁忙

後台單點登入插件

1. 概述

1.1 版本

報表伺服器版本後台單點登入插件
功能變動
11.0V1.0.0
-
V1.1.0
  • 新增 ssoToken 逾時設定功能,開啟後,ssoToken 將在達到「系統管理>登入>登入逾時時間」後過期

  • 透過選擇「帳號加密」按鈕和「範例API」按鈕,切換帳號加密和不加密這兩種方式

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 中不曝光明文,安全性高,推薦在生產環境使用
登入程式2026-04-17_11-16-23.png2026-04-17_11-17-50.png

2. 插件介紹

2.1 安裝插件

點選下載插件:後台單點登入插件

設計器插件安裝方法請參見:設計器插件管理 

伺服器安裝插件方法請參見:伺服器插件管理 

注:「SAML 單點登入」插件與「後台單點登入」插件底層使用相同的 Filter,兩者存在天然衝突,不支援同時啟動 。

若同時啟動兩個插件,每次重啟工程後實際生效的插件不確定,可能導致登入功能異常 。

2.2 配置頁面

插件安裝成功後,超級管理者登入平台,依次點選「管理系統 > 系統管理」,即可進入「整合後台單點登入」配置頁面 。

注:配置頁面僅超級管理者可見,普通使用者無權存取 。

QQ图片20240722103059.png

3. 方案一:帳號不加密

3.1 配置步驟

1)超級管理者登入平台,點選「管理系統 > 系統管理」,進入「整合後台單點登入」配置頁面 。

2)選擇「範例API」,點選「儲存」 。

注:插件 V1.0.0 版本無需執行此步驟,可直接跳至效果預覽 。

QQ图片20240722103244.png

3.2 效果預覽

在瀏覽器中存取以下連結,即可實現單點登入:http://ip:埠號/工程名/decision?fine_username=帳號

其中,「帳號」需取代為 FineReport 平台中已存在且可用的帳號 。


2024-07-22_10-36-03.jpg


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 插件無效,不支援國密算法

2024-07-22_10-30-19.jpg

4.2 對帳號進行加密

將生成的 RSA Key 和待登入的帳號,put 命令使用者自備的加密程式碼中,對帳號進行 RSA 加密 。

注:下圖使用加密網站進行加密(不提供範例網站,可自行百度)。實際生產環境中,請使用自有加密程式碼進行加密,避免依賴第三方網站,以保障金鑰安全 。

Ai图片翻译20240601111139图片翻译1721617900.png

4.3 帳號解密測試(驗證加密是否正確)

將加密後的帳號輸入「解密測試」框中,若能成功解密還原出原始帳號,則說明加解密流程正確,可繼續後續步驟 。

1721618179613723.png

4.4 對加密結果進行 URL 轉碼

加密後的帳號必須進行 URL 轉碼後才能正確嵌入存取連結中。使用者可使用 encodeURIComponent 函式對加密結果進行轉碼 。

本文範例使用轉碼網站進行轉碼(不提供範例網站,可自行百度) 。

Ai图片翻译20240601111949图片翻译1721618389.png

4.5 效果查看

在瀏覽器中存取以下連結,即可實現帳號加密的後台單點登入:

http://ip:port/工程名/decision?ssoToken=xxx(轉碼後的帳號)

其中,xxx 為加密並轉碼後的帳號字串 。

2024-07-22_10-36-03.jpg

4.6 ssoToken 逾時設定

版本要求:V1.1.0 及以上版本支援,預設不開啟 。

功能說明:

開啟後,ssoToken 需要在生成時傳入時間戳和帳號,詳情請參見:後台單點登入RSA範例程式碼

ssoToken 的有效期與「系統管理 > 登入 > 登入逾時時間」保持一致,逾時後自動過期 。

逾時後的表現:

使用已過期的 ssoToken 存取帆軟系統時,將報錯:登入逾時,請重新登入

Ai图片翻译20240601112423图片翻译1721618664.png

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後關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙