1. 概述编辑
1.1 版本
报表服务器版本 | JAR | 功能变动 |
---|---|---|
10.0 | - | - |
10.0 | 2019-12-05 | 「邮箱」支持包含符号#和& |
10.0 | 2020-06-08 | 新增「保留信息」选项 导入用户时可保留已存在用户的姓名、密码、手机、邮箱信息 |
10.0 | 2020-08-31 | 导入「树数据集」不清空之前添加/导入的用户数据 |
10.0.10 | 2020-11-02 | 支持「多源用户」,在同步用户开启状态下可手动「导入用户」,平台多种类型用户可并存 |
1.2 应用场景
管理员可将整理好的用户信息表一次性导入数据决策系统。
管理员可多次导入用户信息,部门,角色。
管理员可对导入的用户进行编辑、禁用、删除
用户希望平台用户是由多个数据集组成的集合。
1.3 功能简介
根据用户信息表创建 服务器数据集 ,可将用户信息导入到数据决策系统中。导入用户信息后,若服务器数据集中新增用户或删除用户,需要再次手动导入。平台用户可以是多个数据集组成的集合。
导入数据集时,如不切换加密方式,则不会清空之前添加/导入的用户数据。
2. 准备导入用户数据编辑
导入的用户数据来自服务器数据集,支持用户部门有层级和无层级两种。
2.1 无层级结构
本节示例所用的用户信息表部门职务间无层级结构。导入的用户的部门都是并列在「所有部门」下,如下图所示:
2.1.1 准备用户信息表
在系统数据连接的数据库中,准备一张用户信息表,表结构如下图所示:
点击下载用户信息表:导入用户1.xlsx
注:导入用户时,用户名、姓名、密码为必填项,此外内容可以不填。
2.1.2 创建服务器数据集
管理员登录数据决策系统,点击「管理系统>数据连接>服务器数据集」,创建「SQL数据集」。如下图所示:
设置数据集名称为「导入用户1」,数据连接选择「FRDemo」,SQL 语句为:
select * from 导入用户1
2.2 有层级结构
本节示例所用的用户信息表部门职务间有层级结构。导入用户的部门如下图所示:
2.2.1 准备用户信息表
在系统数据连接的数据库中,准备一张用户信息表,表结构如下图所示:
点击下载用户信息表:导入用户2.xls
注1:导入用户时,用户名、姓名、密码为必填项,此外内容可以不填。
注2:同步用户数据集时,若服务器数据集为树数据集 ,顶层机构的父机构应为空值。如下图所示的 Abby 用户,fid 字段为空。
2.2.2 创建SQL数据集
管理员登录数据决策系统,点击「管理系统>数据连接>服务器数据集」,创建「SQL数据集」。如下图所示:
设置数据集名称为「导入用户2」,数据连接选择「FRDemo」,SQL 语句为:
select * from 导入用户2
2.2.3 创建树数据集
管理员登录数据决策系统,点击「管理系统>数据连接>服务器数据集」,创建「树数据集」。如下图所示:
设置数据集名称为「导入用户-有层级」,构建自数据集「导入用户2」,原始标记字段为「did」,父标记字段为「fid」,如下图所示:
3. 导入用户编辑
管理员登录数据决策系统,点击「管理系统>用户管理>所有用户」,点击「导入用户」,配置用户信息。如下图所示:
具体设置项如下所示:
3.1 保留信息
场景 | JAR 包 | 选择 | 结果 |
---|---|---|---|
服务器数据集中存在、平台不存在的用户 | - | - | 导入用户时,将用户信息更新到平台 |
服务器数据集中不存在、平台存在的用户 | - | - | 导入用户时,平台用户信息保持不变 |
服务器数据集中存在、平台也存在的用户 平台现有用户来自「同步用户」 | - | - | 若导入用户与同步用户存在相同数据,则重复数据导入失败,不会更新。 |
服务器数据集中存在、平台也存在的用户 平台现有用户来自「手动添加用户」或「导入用户」 | 2020-08-31 之前 | - | SQL 数据集:
树数据集:
|
2020-08-31 及之后 | 不勾选「保留信息」 | 用户的姓名、手机、邮箱、密码覆盖更新 用户的部门、角色增量更新,取原平台用户和服务器数据集中用户信息的并集 | |
勾选「保留信息」 | 用户的姓名、密码、手机、邮箱不更新 用户的部门、角色增量更新,取原平台用户和服务器数据集中用户信息的并集 |
3.2 服务器数据集
选择用户信息对应的服务器数据集。
3.3 字段名称
用户名、姓名、密码、部门名称、职务名称、角色名称、手机、邮箱为对应服务器数据集中的字段名称。
注1:用户管理配置的用户邮箱信息与系统管理邮件配合使用,可通过 FineReport 平台直接发送邮件至不同平台用户邮箱。
注2:部门、职务配置后无法恢复未选择状态,只能删除重新添加。
3.4 加密方式
注:导入成功后,用户登录密码为本文 2.1 节用户信息表中的密码,非 fine_user用户表 中加密的密码。
有两种加密方式,「内置 SHA 加密」和「自定义密码加密」。
1)内置 SHA 加密
数据决策系统采用 SHA256 加密方式,以保证密码安全。
用户通过接口自定义修改密码后,会自动进行 SHA256 加密。
2)自定义密码加密
自定义密码加密,即自定义一个密码加密类,加密方式在类中描述,并保存在%FR_Home%\webapps\webroot\WEB-INF\classes文件夹中。
数据决策系统会在用户自定义加密算法的基础上再进行 SHA256 二次加密,以保证密码安全。
自定义加密示例详情参见:简单权限之密码加密
注:自定义加密算法,必须继承 AbstractPasswordValidator 类,并加上返回判断明文密码和密文密码是否一致结果方法才可行。
4. 用户管理编辑
管理员可对导入的用户进行编辑、禁用、删除,详情请参见 添加用户 第 3、4、5 章