# 如何导入第三方系统的用户表和部门表
很多时候需要将第三方系统的用户、部门等信息同步到SuccBI系统中,SuccBI支持实时连接和导入两种方式进行同步。本文主要介绍SuccBI部署完成后,如何通过数据加工的方式将第三方用户和部门信息导入到系统中。
# 实现思路
- 导入之前,需要先连接第三方用户和部门表,系统支持上传数据文件和添加第三方数据源两种方式连接第三方用户和部门表。
- 连接第三方用户和部门表后,可以使用数据加工将第三方系统、SuccezBI3.14以及SuccBI中的用户和部门信息导入到系统中,提取后即可将数据进行同步。
- SuccBI也支持对第三方用户密码的导入或重置,只需将明文密码按照指定规则加密再导入到用户表的
password
字段,具体可参考如何加密用户密码。 - 若需要将第三方用户和部门数据定时更新到SuccBI中,也可以通过计划调度对数据加工进行定时提取,实现用户和部门数据的同步。
提示
导入第三方系统的用户表和部门表前,需要先对SuccBI中的szsys_4_users和szsys_4_depts表进行备份。
# 连接第三方用户表和部门表
连接第三方用户表和部门表有两种方式:
- 进入项目>数据>数据源>文件数据源,点击上传数据文件,将用户和部门文件上传到SuccBI中进行连接。
- 进入项目>数据>新建>数据源连接,添加第三方数据源,然后连接数据库中的用户表和部门表进行数据加工。
# 与SuccBI用户表和部门表进行字段映射
第三方系统和SuccezBI3.14通过数据加工导入用户表和部门表时,需要与SuccBI系统用户表和部门表进行字段映射,SuccBI也支持在提取时选择目标表字段进行映射。用户表和部门表的常用映射字段如下所示:
# 添加字段映射
数据加工添加字段映射具体步骤如下:
- 新建数据加工,添加
模型输出
节点,在数据加工>模型输出>模型属性的提取表
属性中选择目标数据库表。 - 将
模型输出
节点切换为字段列表栏,在物理字段名
中选择目标数据库表的字段与原表字段进行映射。 - 点击保存按钮保存数据加工,并点击提取数据执行提取。
# 用户表常用字段
下面是用户表常用字段,用户表详细信息可参考这里。
字段名 | 主键 | 字段类型 | 字段描述 | 说明 |
---|---|---|---|---|
USER_ID | 是 | VARCHAR(32) | ID | 外部用户表主键,创建用户时默认与用户名相同 |
USER_NUMBER | VARCHAR(32) | 用户名 | 用于登录,具有唯一性约束 | |
USER_NAME | VARCHAR(128) | 姓名 | ||
NICKNAME | VARCHAR(128) | 昵称 | ||
DEPT_ID | VARCHAR(64) | 所属部门 | ||
ORDER_ID | VARCHAR(64) | 排序ID | ||
PASSWORD | VARCHAR(128) | 密码密文 | 加盐加密,默认使用sha1 算法加密 | |
SALT | VARCHAR(16) | 盐 | ||
PHONE | VARCHAR(16) | 移动电话 | 可用于登录 | |
VARCHAR(128) | 邮件地址 | 可用于登录 | ||
ENABLED | NUMBER(1) | 是否启用 | 1启用,0禁用 |
# 部门表常用字段
下面部门表常用字段,部门表详细信息可参考这里。
字段名 | 主键 | 字段类型 | 字段描述 | 说明 |
---|---|---|---|---|
DEPT_ID | 是 | VARCHAR(64) | ID | 部门表主键,创建部门时默认与部门编号相同,创建后不可再修改 |
DEPT_NUMBER | VARCHAR(64) | 部门编号 | 部门的业务主键,具有唯一性约束 | |
DEPT_NAME | VARCHAR(256) | 部门名称 | ||
PARENT_ID | VARCHAR(64) | 父部门ID |
# 如何加密用户密码
第三方系统和SuccezBI3.14导入用户密码到PASSWORD
字段中时,需要对密码进行加密,SuccBI在用户表中设置了salt
字段专门用于密码加密,用户可在导入用户表时使用列加工进行加密拼接,加密拼接方式为sha1(明文密码字段+[盐])
,默认加密算法为sha1。
提示
若无法获取用户明文密码,也可对密码进行重置,加密拼接方式为sha1(重置后的密码+[盐])
。
# 导入另一个SuccBI系统的用户和部门表
导入另一个SuccBI系统的用户和部门表较为简单,只需新建数据加工,并将源系统的数据提取到目标系统的用户表和部门表。
# 同步用户表
同步其他SuccBI系统的用户表步骤如下:
- 进入数据模块,点击新建>数据加工新建数据模型。
- 将源系统的用户表拖入数据模型中,并添加添加
模型输出
组件。 - 将
模型输出
组件切换到模型属性列表,主键选择USER_ID
,目标数据库表选择szsys_4_users
,提取方式选择按主键追加
,并勾选更新已有数据
。修改完毕后保存模型并提取数据。 - 最后点击保存按钮保存数据加工,并点击提取数据执行提取。
# 同步部门表
部门表的同步与用户表基本相同,具体步骤如下:
- 进入数据模块,点击新建>数据加工新建数据模型。
- 将源系统的用户表拖入数据模型中,并添加添加
模型输出
组件。 - 将
模型输出
组件切换到模型属性列表,主键选择DEPT_ID
,提取表选择szsys_4_depts
,提取方式选择按主键追加
,并勾选更新已有数据
。修改完毕后保存模型并提取数据。 - 最后点击保存按钮保存数据加工,并点击提取数据执行提取。
# 导入第三方系统的的用户表和部门表
# 导入第三方系统的用户表
导入第三方系统的用户表步骤如下:
- 进入数据模块,点击新建>数据加工新建数据模型,将第三方系统的用户表拖入数据模型中进行数据加工。
- 在数据加工中添加
列加工
组件,新增用户名
字段,字段与用户代码相同,并根据加密用户密码生成密文密码
,然后点击选择字段
按钮,并对需要同步的用户数据进行筛选。 - 添加
模型输出
组件,切换到模型属性配置提取信息,主键选择USER_ID
,目标数据库表选择szsys_4_users
,提取方式选择按主键追加
,并勾选更新已有数据
。 - 在
模型输出
组件中切换到字段列表,并在物理字段名
中根据用户表常用字段设置字段映射。 - 最后点击保存按钮保存数据加工,并点击提取数据执行提取。
# 导入第三方系统的部门表
导入第三方系统的部门表步骤如下:
- 进入数据模块,点击新建>数据加工新建数据模型,将第三方系统的部门表表拖入数据模型中进行数据加工。
- 添加
列加工
组件,并新增部门编号
字段,字段一般与部门ID相同,然后点击选择字段
按钮,筛选需要同步的字段信息。 - 添加
模型输出
组件,切换到树形结构属性栏新建父子层次,父字段选择上级机构
,子字段选择部门编号
,点击自动创建层次字段
后,系统会自动生成部门层次信息。 - 将
模型输出
组件切换到模型属性列表,主键选择DEPT_ID
,提取表选择szsys_4_depts
,提取方式选择按主键追加
,并勾选更新已有数据
。 - 在
模型输出
组件中切换到字段列表,将物理字段名
根据部门表常用字段进行与第三方部门表字段进行字段映射。 - 最后点击保存按钮保存数据加工,并点击提取数据执行提取。
# 导入老版本(3.1.4)的用户和部门表
导入SuccezBI3.1.4的用户表和部门表与导入第三方用户和部门表步骤基本相同,具体可参考导入第三方系统的的用户表和部门表。
# 定时同步用户表和部门表
使用数据库表进行数据加工导入第三方用户表和部门表时,若需要定时更新用户和部门信息,可以设置计划任务实现用户和部门信息的定时同步。具体可参考调度管理。