历史版本16 :同步用户 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

FineBI 版本JAR 新增功能
5.1
2020-01-15同步用户的「用户名」支持所有特殊字符;「邮箱」支持包含符号#和&
2020-08-04新增「用户可编辑」选项,勾选后,同步用户可编辑姓名、密码、手机、邮箱,可使用 密码忘记 功能。已存在用户的以上字段在定期同步时将不再更新

1.2 应用场景

企业职工人数是相当多的,并且由于人员的流动性,用户信息一直在变化,如果每次都通过手动添加修改,工作量将会非常大。FineBI 用户同步数据集功能可以实现动态更新平台中的用户信息,使之随着数据库中的用户信息一起变化。

1.3 功能简介

平台提供了同步数据集功能,可将已有的用户信息直接导入到决策系统中,并且与数据库中数据保持一致。

同步用户设置了「同步频率」,到达设定频率后自动同步,不断把数据源中变化的数据同步到平台,可自动进行多次同步;平台用户来源只能是当前同步的这一个数据集,不可能是多个数据集的集合,切换数据集同步就会把之前同步的清空。

2. 部门职务间无层级结构编辑

2.1 准备用户信息表

1)点击下载用户信息表:userinfo.xls

用户信息表具体信息如下图所示:

注:配置同步数据集时,用户名、姓名、密码为必填选项,但用户名和密码可以选择用户信息表中同一列数据。所以用户信息表中必须包含用户名/姓名任意一项、密码。

1597220243603876.png

2)将 userinfo 添加到用户自己的数据库中,或用户在自己数据库中新建用户信息表。

2.2 将用户信息定义为服务器数据集

将 userinfo 表所在的数据库与 FineBI 配置数据连接  ,创建包含用户信息的服务器数据集 ,SQL 语句为:

select *from userinfo

注:FineBI 中创建服务器数据集的步骤请参见:服务器数据集

30.png

2.3 开启数据集同步

以管理员身份进入数据决策系统,点击「管理系统>用户管理>所有用户」,点击「同步用户」按钮。如下图所示:

10.png

2)弹出用户更新提示框,选择「清空现有用户信息及权限等设置,重新写入」。如下图所示:

12.png

仅更新现有用户基本信息,不改变权限等设置:

  • 如果现有用户不在服务器数据集中,该用户会被删除

  • 如果现有用户也在服务器数据集中(用户名相同),该用户对应的 ID 不变,权限也都保留

  • 与服务器数据集中不相同的「部门-职位」信息会被全部删除

清空现有用户信息及权限等设置,重新写入:

现有用户、用户权限、部门职位等都会被删除,重新添加新用户。

注:这两种方式在切换同步数据集时,都不会删除角色信息。

2.4 配置同步数据集

选择本文 2.2 节中创建的服务器数据集,配置同步数据集后,点击「确定」按钮。如下图所示:

1591066431813892.png

2.4.1 同步频率

同步服务器数据集的间隔时间,默认为 43200 秒。

同步用户设置了同步频率,可自动进行多次同步,到达设定频率后自动进行同步,不断把服务器数据集中变化的数据同步到平台。

注:同步频率不宜过高,否则会导致后台日志不断刷新,日志体积无限膨胀。

2.4.2 用户可编辑

2020-08-04 及之后的 JAR 新增「用户可编辑」按钮,该按钮默认不勾选,勾选后,具体功能如下表所示:

注:用户同步后,除 忘记密码功能 可使用外,其他 密码策略功能 对同步用户不生效。

用户身份说明
超级管理员

1)再次同步时,平台现存用户的姓名、密码、手机、邮箱字段将不再更新

2)可编辑平台现存用户的姓名、手机、邮箱、密码,不可编辑角色

3)超管可在「账号设置」处编辑姓名、密码、手机、邮箱

4)可在登录页使用 忘记密码 功能

次级管理员

1)可修改有权限用户的姓名、手机、邮箱、密码,不可编辑角色

2)可在登录页使用 忘记密码 功能

3)次管可在「账号设置」处编辑姓名、密码、手机、邮箱

普通用户

1)同步用户可在「账号设置」处编辑姓名、密码、手机、邮箱

2)可在登录页使用 忘记密码 功能

2.4.3 服务器数据集

选择用户信息对应的服务器数据集。平台用户来源只能是当前同步的这个服务器数据集,不可能是多个服务器数据集的集合;切换服务器数据集后,清空之前同步信息。

同步成功后,FineBI 平台不能直接修改用户相关信息,例如密码、手机号、邮箱等等,只能在服务器数据集中修改。

2.4.4 重复验证字段

「重复验证字段」包含两种验证方式:名称和 ID 。

1)用户信息保存位置

注:用户信息保存在 FineDB 数据库的表 中。

字段信息所在数据库所在表备注
用户名、用户IDFineDBfine_user所在表中的名称和 ID 一一对应,一个 ID 对应两个名称会造成名称冲突导致同步失败;一个名称对应两个 ID 会造成 ID 冲突导致同步失败
职务名称、职务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

2.4.5 字段名称

用户名、姓名、密码、部门名称、职务名称、角色名称、手机、邮箱为对应服务器数据集中的字段名称。

2.4.6 加密方式

有两种加密方式,「内置 SHA 加密」和「自定义密码加密」。

内置 SHA 加密:

在 MD5 加密算法的基础上采用 SHA256 二次加密。

自定义密码加密:

自定义密码加密,即自定义一个密码加密类,加密方式在类中描述,并保存在%FineBI%\webapps\webroot\WEB-INF\classes文件夹中(若无该文件夹,新建即可),自定义加密示例详情参见:简单权限之密码加密

注:自定义加密算法,不管该算法的具体方式是什么,都必须继承 FineReport 的 AbstractPasswordEncode 类,并加上返回判断明文密码和密文密码是否一致结果方法才可行。

2.5 同步效果

注:同步成功后,用户登录密码为本文2.1节用户信息表中的密码,非 fine_user用户表 中加密的密码。

同步用户对话框设置完毕后,点击确定,会显示同步结果面板。如下图所示:

21.png

1)同步完成后,同步用户管理按钮处,会新增两个下拉选项,如下图所示。

  • 立即同步:点击后立即进行一次用户数据集同步

  • 编辑:打开同步用户对话框,可修改同步用户数据集配置

15.png

2)同步成功后,机构部门间没有层级结构。如下图所示:

7.png

3. 部门职务间有层级结构编辑

3.1 准备用户信息表

点击下载用户信息表:部门职务间有层级结构.xls

用户信息表具体信息如下图所示:

注1:配置同步数据集时,用户名、姓名、密码为必填选项,但用户名和密码可以选择用户信息表中同一列数据。所以用户信息表中必须包含用户名/姓名任意一项、密码。

注2:同步用户数据集时,若服务器数据集为树数据集 ,顶层机构的父机构应为空值。如下图所示的 Anna 用户,fid 字段为空。

14.png

2)将「部门职务间有层级结构」添加到用户自己的数据库中,或用户在自己数据库中新建用户信息表。

3.2 将用户信息定义为服务器数据集

将「部门职务间有层级结构」表所在的数据库与 FineBI 配置数据连接  ,创建包含用户信息的服务器数据集 ,SQL 语句为:

select *from 部门职务间有层级结构

注:FineBI 中创建服务器数据集的步骤请参见:服务器数据集

15.png

4)点击「树数据集」,数据集名称为「树数据集」,构建自数据集选择「用户信息表」,原始标记字段为「did」,父标记字段为「fid」,如下图所示:

16.png

3.3 开启数据集同步

请参见本文 2.3 节内容。

3.4 配置同步数据集

选择本文 3.2 节中创建的服务器数据集,配置同步数据集后,点击「确定」按钮。如下图所示:

1597300039831179.png

各设置项介绍请参考本文 2.4 节。

3.5 同步效果

注:同步成功后,用户登录密码为本文3.1节用户信息表中的密码,非 fine_user用户表 中加密的密码。

同步用户对话框设置完毕后,点击「确定」,会显示同步结果面板。如下图所示:

9.png

1)同步完成后,「同步用户管理」按钮处,会新增两个下拉选项,如下图所示。

  • 立即同步:点击后立即进行一次用户数据集同步

  • 编辑:打开同步用户对话框,可修改同步用户数据集配置

10.png

2)同步成功后,机构部门间有层级结构。如下图所示:

11.png

4. 关闭同步效果编辑

用户若需要关闭同步效果,在「用户管理」界面点击添加用户导入用户,切换到内置用户状态,就可关闭同步效果。如下图所示:

注1:数据更新过程会跳过超级管理员,若数据集中包含超级管理员的信息,那么无法对超级管理员生效。

注2:「添加用户」和「导入用户」的具体步骤请参见 用户管理 

方法一:点击添加用户按钮

16.png

方法二:点击导入用户按钮

17.png

5. 注意事项编辑

 同步用户数据集时一些注意事项及报错请参见:用户同步时报错整理