1. 概述
1.1 版本
報表伺服器版本 | 功能變更 |
---|---|
11.0 | - |
11.0.1 | 重複驗證字段的默認方式從「名稱」改爲「ID」,詳情請參見 4.4 節 |
11.0.2 | V11.0.54版本及以上微信管理插件/釘釘管理插件: 新增「同步禁用狀态」配置項,詳情請參見 4.7 節 微信、釘釘集成支持同步用戶信息到平台,詳情請參見 4.3 節 |
11.0.27 | 同步使用者刪除,再次同步恢復後,使用者資訊配置保留,無需重新配置 |
1.2 應用場景
一個企業的職工人數是相當多的,並且由於人員的流動性,使用者資訊一直在變化,如果每次都透過手動新增修改,工作量將會非常大。
1.3 功能簡介
1.4 注意事項
若設定了同步使用者,請勿輕易取消同步/調整同步資料源。因為角色使用者中間關係資料不會軟刪除,且無法恢復!!!
注:11.0.27 及之後版本,透過同步刪除使用者,支援再次透過同步恢復使用者,使用者資訊配置保留,無需重新配置 。
2. 準備用戶數據
2.1 部門職務間無層級結構-SQL 數據集
2.1.1 準備用戶信息表
點選下載使用者資訊表。
注1:匯入使用者時,帳號、姓名、密碼為必填項,此外內容可以不填。
注2:使用者手機號支援綁定中國大陸、中國臺灣、中國香港、土耳其、韓國、日本、新加坡、馬來西亞手機號。中國大陸手機號可自行選擇是否加區號,其他地區和國家手機號需要加區號。
2.1.2 建立伺服器資料集
管理者登入數據決策系統,點選【管理系統】→【資料連結】→【伺服器資料集】,建立【SQL資料集】。如下圖所示。
設定資料集名稱為【同步使用者1】,資料連結選擇【FRDemoTW】,SQL 語句為:select * from 匯入使用者1
2.2 部門職務間無層級結構-文件數據集
本節範例所用的使用者資訊表部門職務間無層級結構。同步的使用者的部門都是並列在「所有部門」下,如下圖所示:
2.2.1 準備2.2.1使用者資訊表
點選下載使用者資訊表。
注1:匯入使用者時,帳號、姓名、密碼為必填項,此外內容可以不填。
注2:用者手機號支援綁定中國大陸、中國臺灣、中國香港、土耳其、韓國、日本、新加坡、馬來西亞手機號。中國大陸手機號可自行選擇是否加區號,其他地區和國家手機號需要加區號。
注3:也可使用 TXT / XML 檔案,設定方式請參見:A03-02 檔案資料集 。
2.2.2 建立伺服器資料集
將該表儲存在本地,或者上傳至報表工程的%FR_HOME%\webapps\webroot\WEB-INF\reportlets目錄下。
管理者登入數據決策系統,點選【管理系統】→【資料連結】→【伺服器資料集】,建立【檔案資料集】。如下圖所示。
2.3 部門2.3 職務間有層級結構-樹資料集
2.3.1 準備使用者資訊表
準備一張使用者資訊表,表結構如下圖所示:
點選下載使用者資訊表。部門職務間有層級結構.xls
注1:同步使用者資料集時,若伺服器資料集為樹資料集 ,頂層機構的父機構應為Null(而非空值)。如下圖所示的 Anna 使用者,fid 欄位為空。
注2:部門下沒有使用者也是可以的,例如總部只有下屬部門,但沒有直屬職務和用戶,也是可以生成樹資料集和同步使用者的。
注3:使用者手機號支援綁定中國大陸、中國臺灣、中國香港、土耳其、韓國、日本、新加坡、馬來西亞手機號。
中國大陸手機號可自行選擇是否加區號,其他地區和國家手機號需要加區號。
2.3.2 建立SQL資料集
管理者登入數據決策系統,點選【管理系統】→【資料連結】→【伺服器資料集】,建立【SQL資料集】。如下圖所示。
設置數據集名稱爲「同步用戶2」,數據連接選擇「FRDemo」,SQL 語句爲:select * from 同步使用者2
2.3.3 建立樹資料集
管理者登入數據決策系統,點選【管理系統】→【資料連結】→【伺服器資料集】,建立【樹資料集】。如下圖所示:
設置資料集名稱為【同步使用者-有層級】,構建自資料集【同步使用者2】,原始標記欄位為【did】,父標記欄位為【fid】,如下圖所示。
3. 首次同步使用者更新設定
注1:若之前同步過使用者,將不會出現本節彈窗,可直接跨越本章節 。
本章面向「之前從未進行過同步使用者」、「同步使用者未開啟狀態下執行首次同步操作」的資料更新規則 。
注2:同步的使用者與「手動新增/匯入的使用者」可並存 。
管理者登入數據決策系統,點選「管理系統>使用者管理>所有使用者」,點選「同步使用者」 。
跳出提示框「是否保留現有非同步資料,包括匯入/新增的使用者、部門職務、角色」,如下圖所示:
不同選擇對應的更新邏輯如下:
選擇 | 定義 |
保留 | 如果現有使用者不在同步的伺服器資料集中,該使用者資訊和權限將被保留,不修改。 如果現有使用者在伺服器資料集中(帳號相同): |
清空 | 平台現有【手動新增/匯入的使用者】的帳號、姓名、密碼、手機、郵箱、部門、職務、角色、權限均被刪除,重新同步使用者。 |
注:根據選擇的更新邏輯,首次同步後有部分使用者資訊被更新 。
之後能被自動更新的只有已變為同步類型的使用者 。
之後的同步,資料集不能再改寫更新內建資料,否則將衝突報錯 。
4. 配置同步使用者
4.1 同步頻率
注:同步頻率不宜過高,否則會導致後臺日誌不斷重新整理,日誌體積無限膨脹。
4.2 使用者可編輯
「使用者可編輯」按鈕,該按鈕預設不勾選,勾選後,同步狀態下使用者資訊可編輯 。
使用者可編輯姓名、密碼、手機、信箱,可使用 忘記密碼 功能,已存在使用者的以上欄位在自動同步/手動同步時將不再更新。具體功能如下表所示:
注1:密碼策略功能 對同步使用者生效 。
注2:若未勾選「使用者可編輯」按鈕,但使用「忘記密碼」功能,在修改密碼時會出現提示:您的帳號無法修改密碼,如有疑問請聯絡管理者 。
使用者身份 | 說明 |
---|---|
1)再次同步時,平台現存使用者的姓名、密碼、手機、郵箱欄位將不再更新。 2)可編輯平台現存使用者的姓名、手機、郵箱、密碼,不可編輯同步過來的角色。 3)超管可在【帳號設定】處編輯姓名、密碼、手機、郵箱。 4)可在登入頁使用 忘記密碼 功能。 | |
次級管理者 | 1)可修改有權限使用者的姓名、手機、郵箱、密碼,不可編輯同步過來的角色。 2)可在登入頁使用 忘記密碼 功能。 3)次管可在【帳號設定】處編輯姓名、密碼、手機、郵箱。 |
普通使用者 | 1)同步使用者可在【帳號設定】處編輯姓名、密碼、手機、郵箱。 2)可在登入頁使用 忘記密碼 功能。 |
4.3 使用者來源
1)伺服器資料集
2)從LDAP伺服器中同步
3)從企業微信同步
用戶配置了「微信管理」插件的「成員管理」後,可在用戶來源選擇「從企業微信同步」用戶信息。選擇要同步的企業微信應用,即可。
注1:在「微信管理>成員管理」設置通訊錄「立即更新」或設置定時「自動更新」,都會發生用戶同步。
注2:因為企業微信API限制,所以無法同步密碼,報表使用者初始密碼隨機生成。如果使用者在 APP 或 PC 端想透過帳號密碼登入,需點選「忘記密碼」,重置後才能登入。
詳情請參見:企業微信集成
4)從釘釘同步
用戶配置了「釘釘管理」插件的「成員管理」後,可在用戶來源選擇「從釘釘同步」用戶信息。選擇要同步的釘釘應用,即可。
注:在「釘釘管理>成員管理」設置通訊錄「立即更新」或設置定時「自動更新」,都會發生用戶同步。
詳情請參見:釘釘管理插件
4.4 使用者重複驗證欄位
注:FineReport 11.0.1 版本前,默認的重複驗證字段爲名稱。
FineReport 11.0.1 版本及之後,默認的重複驗證字段爲ID。
注:使用者資訊儲存在 FineDB 資料庫的表 中。
欄位資訊 | 所在表 |
---|---|
帳號、使用者ID | fine_user |
職務名稱、職務ID | fine_post |
部門名稱、部門ID | fine_department |
角色名稱、角色ID | fine_custom_role |
2)具體說明
重複驗證欄位 | 邏輯 | 場景 | 備註 |
---|---|---|---|
帳號 | 若選擇名稱,則同步【名稱】欄位,所在表中的 ID 欄位值將由系統隨機生成。 | 如果修改資料集中某使用者的帳號,平台中帳號也會跟着修改,所對應使用者 ID 由系統隨機生成,新帳號的使用者會丟失之前單獨為該使用者配置的權限。同理,部門,職位,角色則會丟失繼承自部門/職務/角色的權限。 | 若重複驗證欄位選擇職務名稱,那麼資料源中名稱相同但 ID 不同的職務會作為一個職務看待,若同一部門下有兩個名稱為【財務】的不同職務,會直接顯示為同一個職務,其下使用者也會合並顯示。 但如果兩個【財務】屬於不同部門,則雖算作一個職務,但因部門-職務關係的不同,其下使用者不會合並在一起顯示。使用者,部門,角色同理。 |
部門名稱 | |||
職務名稱 | |||
角色名稱 | |||
使用者ID | 若選擇 ID,則同步【ID+名稱】欄位,所在表中的 ID 欄位值為同步使用者時伺服器資料集中的 ID。 | 如果資料集中某 ID 對應的帳號發生修改,平台中帳號也會跟着修改,權限也會被繼承。部門,職位,角色同理。 | 非樹資料集中,若重複驗證欄位選擇 ID ,那麼職務的 ID 、名稱都必須是一對一且唯一不重複的關係,同一 ID 對應多個名稱 、同一名稱對應多個 ID 都不允許。使用者,部門,角色同理。 樹資料集中,使用者、職務、角色的名稱與 ID 必須是一對一且唯一不重複的關係。 注:前臺看不到職務ID,只透過職務名稱來區分、配置權限等。如果出現同一部門下兩個不同id職務同名的情況,將無法區分和配置權限。故直接要求兩者都必須唯一 且 一一對應的關係,不滿足則直接同步失敗。 |
部門ID | |||
職務ID | |||
角色ID |
4.5 欄位名稱
注1:2019-12-05 及之後的 JAR ,郵箱支援包含符號【#】和【&】。
注2:10.0.14 版本及之後的報表工程,支援僅配置部門,不配置職務。10.0.14 版本之前的報表工程,配置了部門,必須配置職務。
4.6 加密方式
系統可對儲存到FineDB配置庫的使用者密碼進行加密。保證即使資料庫被破解,也無法得到使用者的真正登入資訊。
有兩種加密方式,「内置 SHA 加密」和「自定義密碼加密」。
1)內建 SHA 加密
適用場景:
加密簡介:
登入密碼:fine_user使用者表
2)自訂密碼加密
適用場景:
加密簡介:
登入密碼:
注1:自訂加密範例詳情參見:同步使用者密碼加密設定 。
注2:自訂加密算法,必須繼承 AbstractPasswordValidator 類,並加上傳回判斷明文密碼和密文密碼是否一致結果方法才可行。
注3:若勾選了【使用者可編輯】,且設定了加密方式,儲存成功後,再次更換加密方式,FineDB 中的密文無法同步更換,使用者將無法成功登入。
注4:修改同步使用者加密方式後無需重啟工程,立即生效。
4.7 使用者禁用狀態
11.0.2 及之後版本新增該設定項,方便管理者透過同步使用者資料管理使用者狀態。非必填項。
若需要使用該設定項,在第二章的資料源中新增一個欄位,欄位值為0/1。
0:禁用使用者
1:啟用使用者
1)若不配置該設定項,同步使用者的啟用/禁用可從平台手動配置。
2)若配置該設定項,同步使用者的啟用/禁用完全取決於資料源,不支援從平台手動配置。
注:手動新增的使用者仍可透過平台配置啟用/禁用狀態,不受影響。
5. 同步使用者管理
5.1 立即同步
注:11.0.27及之後版本,透過同步刪除使用者,再次透過同步恢復使用者,使用者資訊配置保留,無需重新配置 。
5.2 編輯
請謹慎切換使用者來源,這會導緻之前同步的使用者及其部門、職務、角色、權限等均被清空。若使用者堅持切換同步使用者來源資料集,在點選【確定】時,會提示【切換資料集後將清空原有同步資料,包括使用者及其部門、職務、角色、權限等,確認切換資料集?】
注:禁用、編輯、刪除使用者的操作,請參見 新增使用者 第 3、4、5 章 。
5.3 清空同步資料
【清空同步資料】按鈕,支援一鍵取消同步使用者。
清空同步資料將刪除所有同步的使用者、部門職務、角色、相關權限,且不再繼續同步,恢複未同步的狀態。
5.4 異常資料中斷同步
失敗提醒:
21300031 - 本次同步使用者數量將減少XX%(XX個),達到設定的中斷值XX%。請檢查資料源資料是否正常,或暫時關閉"異常資料中斷同步"功能。
5.5 下次同步時間