當前為10.0版本文檔,更多實例內容將在最新幫助文檔中展現,點選跳轉至 最新版幫助文檔

同步用戶

1. 概述

1.1 版本

報表服務器版本JAR功能變動
10.0--
10.0
2019-12-05「郵箱」支持包含符号#和&
10.02020-06-08

新增用戶可編輯選項,勾選後,同步狀态下用戶信息可編輯

勾選後,同步用戶可編輯姓名、密碼、手機、郵箱,可使用 忘記密碼 功能。已存在用戶的以上字段在定期同步時将不再更新

詳情請參見本文 4.2 節

10.0.102020-11-02支持多源用戶,在添加/導入用戶存在狀态下可「同步用戶」,平台多種類型用戶可并存
10.0.112020-12-02定時同步頻率支持使用表達式
10.0.122020-12-28

支持使用「文件數據集」同步用戶

用戶手機号支持綁定中國大陸、中國台灣、中國香港、土耳其、韓國、日本、新加坡、馬來西亞手機号

1.2 應用場景

一個企業的職工人數是相當多的,并且由於人員的流動性,用戶信息一直在變化,如果每次都通過手動添加修改,工作量将會非常大。

FineReport 用戶同步數據集功能可以實現動态更新平台中的用戶信息,使之随着數據庫中的用戶信息一起變化。

1.3 功能簡介

管理員可以先創建服務器數據集,設置定期從數據集同步用戶,保持用戶信息及時更新。

2. 準備用戶數據

同步的用戶數據來自服務器數據集,支持用戶部門有層級和無層級兩種。

用戶可根據自身用戶結構選擇其中一種。

2.1 部門職務間無層級結構-SQL 數據集

本節示例所用的用戶信息表部門職務間無層級結構,如下圖所示:

image.png

2.1.1 準備用戶信息表

準備一張用戶信息表,表結構如下圖所示:

點擊下載用戶信息表:導入用戶1.xlsx

注1:導入用戶時,用戶名、姓名、密碼爲必填項,此外内容可以不填。

注2:10.0.12 之前的報表工程版本,僅支持綁定中國大陸手機号,手機号無需加區号

         10.0.12 及之後的報表工程版本,用戶手機号支持綁定中國大陸、中國台灣、中國香港、土耳其、韓國、日本、新加坡、馬來西亞手機号

         中國大陸手機号可自行選擇是否加區号,其他地區手機号需要加區号。

image.png

2.1.2 創建服務器數據集

使用 Navicat 等第三方工具,将上表導入數據庫,并建立系統與該數據庫的 數據連接 。下文将以 FRDemo 數據庫爲例。

管理員登錄數據決策系統,點擊「管理系統>數據連接>服務器數據集」,創建「SQL數據集」。如下圖所示:

image.png

設置數據集名稱爲「同步用戶1」,數據連接選擇「FRDemo」,SQL 語句爲:

select * from 導入用戶1

image.png

2.2 部門職務間無層級結構-文件數據集

注:10.0.12 及之後的報表工程,支持通過「文件數據集」同步用戶。

本節示例所用的用戶信息表部門職務間無層級結構。同步的用戶的部門都是并列在「所有部門」下,如下圖所示:

image.png

2.2.1 準備用戶信息表

準備一張用戶信息表,表結構如下圖所示:

點擊下載用戶信息表:導入用戶1.xlsx

注1:導入用戶時,用戶名、姓名、密碼爲必填項,此外内容可以不填。

注2:10.0.12 之前的報表工程版本,僅支持綁定中國大陸手機号,手機号無需加區号

         10.0.12 及之後的報表工程版本,用戶手機号支持綁定中國大陸、中國台灣、中國香港、土耳其、韓國、日本、新加坡、馬來西亞手機号

         中國大陸手機号可自行選擇是否加區号,其他地區手機号需要加區号。

注3:也可使用 TXT / XML 文件,設置方式請參見:文件數據集 。

image.png

2.2.2 創建服務器數據集

将該表保存在本地,或者上傳至報表工程的%FR_HOME%\webapps\webroot\WEB-INF\reportlets目錄下。

管理員登錄數據決策系統,點擊「管理系統>數據連接>服務器數據集」,創建「文件數據集」。如下圖所示:

image.png

設置數據集名稱爲「同步用戶-文件」,選擇上文準備的表格。

注1:若選擇服務器文件,則選擇報表工程的 %FR_HOME%\webapps\webroot\WEB-INF\reportlets 目錄下的文件。

        若選擇本地文件,上傳後文件自動保存至報表工程的 %FR_HOME%\webapps\webroot\WEB-INF\reportlets\excel 目錄下。

注2:也可使用 TXT / XML / 遠程 URL 文件,支持數據集參數,設置方式請參見:文件數據集 。

image.png

2.3 部門職務間有層級結構-樹數據集

本節示例所用的用戶信息表部門職務間有層級結構,如下圖所示:

image.png

2.3.1 準備用戶信息表

準備一張用戶信息表,表結構如下圖所示:

點擊下載用戶信息表:部門職務間有層級結構.xls

注1:同步用戶數據集時,若服務器數據集爲樹數據集 ,頂層機構的父機構應爲空值。如下圖所示的 Anna 用戶,fid 字段爲空。

注2:10.0.12 之前的報表工程版本,僅支持綁定中國大陸手機号,手機号無需加區号

         10.0.12 及之後的報表工程版本,用戶手機号支持綁定中國大陸、中國台灣、中國香港、土耳其、韓國、日本、新加坡、馬來西亞手機号

         中國大陸手機号可自行選擇是否加區号,其他地區手機号需要加區号。

14.png

2.3.2 創建SQL數據集

使用 Navicat 等第三方工具,将上表導入數據庫,并建立系統與該數據庫的 數據連接 。下文将以 FRDemo 數據庫爲例。

管理員登錄數據決策系統,點擊「管理系統>數據連接>服務器數據集」,創建「SQL數據集」。如下圖所示:

image.png

設置數據集名稱爲「同步用戶2」,數據連接選擇「FRDemo」,SQL 語句爲:

select * from 部門職務間有層級結構

image.png

2.3.3 創建樹數據集

管理員登錄數據決策系統,點擊「管理系統>數據連接>服務器數據集」,創建「樹數據集」。如下圖所示:

image.png

設置數據集名稱爲「同步用戶-有層級」,構建自數據集「同步用戶2」,原始标記字段爲「did」,父标記字段爲「fid」,如下圖所示:

image.png

3. 首次同步用戶更新設置

JAR 包版本在 2020-11-02 之前的工程,同步的用戶與「手動添加/導入的用戶」不可并存。

JAR 包版本在 2020-11-02 及之後的工程,同步的用戶與「手動添加/導入的用戶」可并存。

3.1 JAR 包版本在 2020-11-02 之前

管理員登錄數據決策系統,點擊「管理系統>用戶管理>所有用戶」,點擊「同步用戶」。

跳出「用戶更新設置」提示框,如下圖所示:

2020-10-28_15-46-53.png

不同選擇對應的更新邏輯如下:

選擇
定義
僅更新現有用戶基本信息,不改變權限等設置

如果現有用戶不在同步的服務器數據集中,該用戶會被删除

如果現有用戶在服務器數據集中(用戶名相同):

  • 該用戶的用戶名不變,權限保留

  • 該用戶的姓名、密碼、手機、郵箱、部門、角色覆蓋更新

  • 服務器數據集中不存在的部門會被删除

清空現有用戶信息及權限等設置,重新寫入

平台現有「手動添加/導入的用戶」的用戶名、姓名、密碼、手機、郵箱、部門、職務、角色、權限均被删除,重新同步用戶

服務器數據集中不存在、平台現有的角色仍然保留

3.2 JAR 包版本在 2020-11-02 及之後

管理員登錄數據決策系統,點擊「管理系統>用戶管理>所有用戶」,點擊「同步用戶」。

跳出提示框「是否保留現有非同步數據,包括導入/添加的用戶、部門職務、角色」,如下圖所示:

image.png

不同選擇對應的更新邏輯如下:

選擇
定義
保留

如果現有用戶不在同步的服務器數據集中,該用戶信息和權限将被保留,不修改

如果現有用戶在服務器數據集中(用戶名相同):

  • 該用戶的用戶名不變,權限保留

  • 該用戶的姓名、密碼、手機、郵箱覆蓋更新

  • 該用戶當前所屬的部門職務、角色若存在於同步服務器集中,則覆蓋更新

  • 該用戶當前所屬的部門職務、角色若不存在於同步服務器集中,則保留不變

清空

平台現有「手動添加/導入的用戶」的用戶名、姓名、密碼、手機、郵箱、部門、職務、角色、權限均被删除,重新同步用戶

4. 配置同步用戶

配置同步數據集信息,如下圖所示:

image.png

4.1 同步頻率

  • 版本在 10.0.11 之前的工程,支持簡單重複執行同步用戶操作。

  • 版本在 10.0.11 及之後的工程,支持通過兩種方式執行同步用戶操作:簡單重複執行、表達式設置。

4.1.1 簡單重複執行

image.png

從服務器數據集中自動同步用戶的間隔時間,默認爲 43200 秒。

同步用戶設置了同步頻率,可自動進行多次同步,到達設定頻率後自動進行同步,不斷把服務器數據集中變化的數據同步到平台。

注:同步頻率不宜過高,否則會導緻後台日志不斷刷新,日志體積無限膨脹。

4.1.2 表達式設置

image.png

支持通過 Cron 表達式設置任務執行的時間點,該任務可以是每天重複執行,隔日重複執行或者是單次執行等等各種不同組合的觸發時間點。

Cron 表達式的語法和寫法請參見:Cron 表達式

4.2 用戶可編輯

2020-06-08 及之後的 JAR 新增「用戶可編輯」按鈕,該按鈕默認不勾選,勾選後,同步狀态下用戶信息可編輯。

用戶可編輯姓名、密碼、手機、郵箱,可使用 忘記密碼 功能,已存在用戶的以上字段在定期同步時将不再更新。具體功能如下表所示:

注:JAR 包版本在 2020-06-08 到 2020-11-02 之間的系統,用戶同步後,除 忘記密碼功能 可使用外,密碼策略功能 對同步用戶不生效。

JAR 包版本在 2020-11-02 及之後的系統,密碼策略功能 對同步用戶生效。

用戶身份說明
超級管理員

1)再次同步時,平台現存用戶的姓名、密碼、手機、郵箱字段将不再更新

2)可編輯平台現存用戶的姓名、手機、郵箱、密碼,不可編輯角色

3)超管可在「賬号設置」處編輯姓名、密碼、手機、郵箱

4)可在登錄頁使用 忘記密碼 功能

次級管理員

1)可修改有權限用戶的姓名、手機、郵箱、密碼,不可編輯角色

2)可在登錄頁使用 忘記密碼 功能

3)次管可在「賬号設置」處編輯姓名、密碼、手機、郵箱

普通用戶

1)同步用戶可在「賬号設置」處編輯姓名、密碼、手機、郵箱

2)可在登錄頁使用 忘記密碼 功能

4.3 服務器數據集

選擇用戶信息對應的服務器數據集。

同步用戶的來源只能是當前同步的這個服務器數據集,不支持從多個服務器數據集中同時同步。切換服務器數據集後,清空之前同步信息。

同步成功後,不支持修改同步用戶所屬同步部門職務、同步角色信息,只能在服務器數據集中修改

4.4 用戶重複驗證字段

「重複驗證字段」包含兩種驗證方式:名稱和 ID 。

1)用戶信息保存位置

注:用戶信息保存在 FineDB 數據庫的表 中。

字段信息所在表
用戶名、用戶IDfine_user
職務名稱、職務IDfine_post
部門名稱、部門IDfine_department
角色名稱、角色IDfine_custom_role

2)具體說明

重複驗證字段邏輯場景備注
用戶名若選擇名稱,則同步「名稱」字段,所在表中的 ID 字段值将由系統随機生成

如果修改數據集中某用戶的用戶名,平台中用戶名也會跟着修改,所對應用戶 ID 由系統随機生成,新用戶名的用戶會丢失之前單獨爲該用戶配置的權限。同理,部門,職位,角色則會丢失繼承自部門/職務/角色的權限

若重複驗證字段選擇職務名稱,那麽數據源中名稱相同但 ID 不同的職務會作爲一個職務看待,若同一部門下有兩個名稱爲「财務」的不同職務,會直接顯示爲同一個職務,其下用戶也會合并顯示

但如果兩個「财務」屬於不同部門,則雖算作一個職務,但因部門-職務關系的不同,其下用戶不會合并在一起顯示。用戶,部門,角色同理

部門名稱
職務名稱
角色名稱
用戶ID

若選擇 ID,則同步「ID+名稱」字段,所在表中的 ID 字段值爲同步用戶時服務器數據集中的 ID

如果數據集中某 ID 對應的用戶名發生修改,平台中用戶名也會跟着修改,權限也會被繼承。部門,職位,角色同理

非樹數據集中,若重複驗證字段選擇 ID ,那麽職務的 ID 、名稱都必須是一對一且唯一不重複的關系,同一 ID 對應多個名稱 、同一名稱對應多個 ID 都不允許。用戶,部門,角色同理

樹數據集中,用戶、職務、角色的名稱與 ID 必須是一對一且唯一不重複的關系

注:前台看不到職務ID,只通過職務名稱來區分、配置權限等。如果出現同一部門下兩個不同id職務同名的情況,将無法區分和配置權限。故直接要求兩者都必須唯一 且 一一對應的關系,不滿足則直接同步失敗

部門ID
職務ID
角色ID

4.5 字段名稱

用戶名、姓名、密碼、部門名稱、職務名稱、角色名稱、手機、郵箱爲對應服務器數據集中的字段名稱。

注:2019-12-05 及之後的 JAR ,郵箱支持包含符号‘#’和‘&’。

4.6 加密方式

有兩種加密方式,「内置 SHA 加密」和「自定義密碼加密」。

1)内置 SHA 加密

适用場景:同步的服務器數據集中的密碼爲明文時,選擇内置 SHA 加密

加密簡介:數據決策系統采用 SHA256 加密方式,以保證密碼安全。用戶通過接口自定義修改密碼後,會自動進行 SHA256 加密。

登錄密碼:登錄密碼即爲本文 2.1 節用戶信息表中的密碼,非 fine_user用戶表 中加密的密碼。

2)自定義密碼加密

适用場景:同步的服務器數據集中的密碼爲自定義加密後的密文,則必須使用自定義加密。

加密簡介:自定義密碼加密,即自定義一個密碼加密類。

                 加密方式在類中描述,并保存在%BI_Home%\webapps\webroot\WEB-INF\classes文件夾中。

                 數據決策系統會在用戶自定義加密算法的基礎上再進行 SHA256 二次加密,以保證密碼安全。

登錄密碼:登錄密碼爲服務器數據集的密文解密之後的明文

注1:自定義加密示例詳情參見:簡單權限之密碼加密 。

注2:自定義加密算法,必須繼承 AbstractPasswordValidator 類,并加上返回判斷明文密碼和密文密碼是否一緻結果方法才可行。

注3:若勾選了「用戶可編輯」,且設置了加密方式,保存成功後,再次更換加密方式,FineDB 中的密文無法同步更換,用戶将無法成功登錄。

5. 同步用戶管理

同步完成後,同步用戶管理按鈕處,會新增兩個下拉選項,如下圖所示:

  • 立即同步:點擊後立即進行一次用戶數據集同步。

  • 編輯:打開同步用戶對話框,可修改同步用戶數據集配置。

image.png

若未開啓 4.2 節「用戶可編輯」設置,支持管理員「禁用用戶」,不支持「編輯用戶」和「删除用戶」。

若開啓了 4.2 節「用戶可編輯」設置,支持管理員「禁用用戶」和「編輯用戶」,不支持「删除用戶」。

注:禁用、編輯、删除用戶的操作,請參見 添加用戶 第 3、4、5 章 

image.png

6. 注意事項

6.1 取消同步用戶

1)JAR 包版本在 2020-11-02 之前的工程,同步的用戶與「手動添加/導入的用戶」不可并存。

如需取消同步用戶,執行「添加用戶」或「導入用戶」的操作,即可取消同步用戶。

2)JAR 包版本在 2020-11-02 及之後的工程,同步的用戶與「手動添加/導入的用戶」可并存。

不支持直接取消同步用戶,但可将 4.2 節同步的「服務器數據集」切換爲空數據集即可。

6.2 同步用戶失敗

 同步用戶時一些注意事項及報錯請參見:用戶同步時報錯整理

附件列表


主題: 原簡體文檔
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽

文 檔回 饋

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

9s后關閉

反饋已提交

網絡繁忙