一、概述
用户同步是指有多套系统(包括Smartbi系统)都拥有用户信息。当用户信息存储于第三方系统或使用第三方系统进行用户管理时,需要将第三方系统的用户数据同步到Smartbi系统中。
Smartbi提供用户同步功能,通过界面化简单配置即可实现定期同步用户数据。
二 、用户同步核心概念
1、三大核心概念
在Smartbi系统中,用户管理涉及三类关键对象,需与第三方系统数据一一对应
对象 | 说明 | 示例 |
---|---|---|
用户组 | 即“机构”,以树形结构组织,体现层级关系。 | 如广州思迈特软件有限公司->开发部->运维组 |
角色 | Smartbi系统中的主要权限载体,角色可分配给用户及用户组,决定用户在系统中的权限。 | 如组长、普通组员 |
用户 | 系统的实际使用者。 | 如张三(登录账号zhangsan) |
2、属性映射
每个对象包含多个属性,需与第三方系统数据字段建立对应关系
1)用户组(机构)属性
属性 | 属性说明 | 必须同步 | 同步逻辑 |
---|---|---|---|
机构ID | 机构在系统中的唯一ID。 | 是 | 建议同步第三方系统中机构的唯一标识作为机构ID,若无则可由系统生成唯一ID。 若第三方系统中存在同名机构(如产品部下有“运维组“,开发部下也有“运维组”),则必须同步机构ID。 |
机构名称 | 机构的名称。 | 是 | 必须从第三方系统同步。 |
机构编号 | 机构的编号,一般用于实现数据权限控制。 | 可从第三方系统同步,若无则为空。 | |
机构别名 | 机构的显示别名 | 可从第三方系统同步,若无则自动采用机构名称作为机构别名。 | |
机构描述 | 机构的描述内容 | 可从第三方系统同步,若无则为空。 | |
父机构 | Smartbi系统中,机构以机构树的形式存在,因此机构具有“父机构”属性 | 是 | 必须从第三方系统同步,支持机构ID或名称。 若父机构数据为机构名称,系统将基于机构名称构建组织机构树。当第三方系统中存在同名机构时,机构树将无法精准构建。 若父机构数据为机构ID,系统将基于机构ID构建组织机构树。由于机构ID为机构在系统中的唯一ID,因此可以保证机构树构建的精确性。 |
机构状态 | 额外增加的属性,用于将机构进行逻辑删除处理,值为0 、1 或 NULL。 | 若机构在第三方系统中被删除,需要在Smartbi进行逻辑删除,需同步状态为0。 |
2)角色属性
属性 | 属性说明 | 必须同步 | 同步逻辑 |
---|---|---|---|
角色ID | 角色在系统中的唯一ID。 | 是 | 支持从从第三方系统同步,若无则可由系统生成唯一ID。 |
角色名称 | 角色的名称。 | 是 | 必须从第三方系统同步。 |
角色别名 | 角色别名 | 可从第三方系统同步,若无则自动采用角色名称作为角色别名。 | |
角色描述 | 角色的描述内容 | 可从第三方系统同步,若无则为空。 | |
角色所属机构 | Smartbi系统中,角色是存储于机构树上的某个机构下的,因此需要为角色指定其所属机构。 | 是 | 必须从第三方系统同步,支持机构ID和名称。 若角色所属机构数据为机构名称,当第三方系统中存在同名机构时,角色将无法存放到正确的机构下。 若角色所属机构数据为机构ID,由于机构ID为机构在系统中的唯一标识,因此可以保证角色存放到正确的机构下。 |
角色状态 | 额外增加的属性,用于将角色进行逻辑删除处理。值为0 、1 或 NULL。 | 机构在第三方系统中被删除,需要在Smartbi进行逻辑删除,需同步状态为0。 |
3)用户属性
属性 | 属性说明 | 是否必须同步 | 同步逻辑 |
---|---|---|---|
用户ID | 用户在系统中的唯一ID。 | 是 | 建议同步第三方系统中用户的唯一标识作为用户ID,若无则可由系统生成唯一ID。 |
用户名称 | 用户名称,即登录账号。 | 是 | 必须从第三方系统同步用户的登录账号作为用户名称。 |
用户别名 | 用户别名 | 可从第三方系统同步,若无则自动采用用户名称作为用户别名。 | |
密码 | 用户的登录密码 | 支持从第三方同步密码,若无则可统一设置初始密码。 | |
用户描述 | 用户的描述内容 | 可从第三方系统同步,若无则为空。 | |
启用用户 | 设置用户数是否启动。数据值为0或1: 0:不启用用户 1:启用用户 | 是 | 必须从第三方系统同步,设置用户是否在Smartbi系统中启用。 |
是否强制修改密码 | 设置用户首次登录时是否强制修改密码。数据值为0或1: 0:不强制修改密码 1:强制修改密码 | 是 | 必须从第三方系统同步,设置用户首次在Smartbi系统中登录是否强制修改密码。 |
用户默认所属机构 | 用户的默认所属机构。 在Smartbi用户管理体系中,用户可同时属于多个机构,但必须指定其中1个机构作为用户的默认所属机构。 | 是 | 必须从第三方系统同步,支持机构ID和名称。 若用户默认所属机构数据为机构名称,当第三方系统中存在同名机构时,用户将无法存放到正确的机构下。 若用户默认所属机构数据为机构ID,由于机构ID为机构在系统中的唯一标识,因此可以保证用户存放到正确的机构下。 |
用户所属机构列表 | 用户若同时属于多个机构,则应存在对应的“用户所属机构列表”数据。 | 1)支持从第三方系统同步,支持机构ID列表和机构名称列表。 若用户所属机构列表数据为机构名称,当第三方系统中存在同名机构时,用户将无法存放到正确的机构下。 若用户所属机构列表数据为机构ID,由于机构ID为机构在系统中的唯一标识,因此可以保证用户存放到正确的机构下。 2)同步数据按照 "机构1ID,机构2ID,机构3ID,...”格式,其中分隔符支持英文分号(;)、英文逗号(,)、#、@、$、&六种符号。 3)若不从第三方系统同步,则需在Smartbi中手工进行用户所属机构的维护。 | |
用户角色列表 | 用户拥有的角色列表 | 1)支持从第三方系统同步,支持角色ID和角色名称。 同步数据按照"角色1ID,角色2ID,角色3ID,...”格式,其中分隔符支持英文分号(;)、英文逗号(,)、#、@、$、&六种符号。 2)若不从第三方系统同步,则需在Smartbi中手工进行用户角色的维护。 |
三、用户同步功能
了解完Smartbi系统中的三大关键对象的属性及其同步逻辑后,需要先了解用户同步功能。
1、功能入口
1)进入 运维设置,点击导航栏的 用户同步 菜单 或 点击系统快捷菜单 用户/机构/角色同步 ,打开用户同步模块
注意
使用用户同步功能,前提是具备“计划任务”、“用户同步”的操作权限,因此需要为用户授予对应的操作权限。详情可参考:操作权限。
2)点击 新建用户同步计划 ,进入用户同步计划的配置界面
2、界面及功能说明
用户同步计划包含5个步骤,分别是:机构同步、角色同步、用户同步、机构角色同步 和 执行计划。
1)机构同步/角色同步/用户同步/机构角色同步 步骤
其中前4个步骤分别进行机构、角色、用户、机构角色关系的同步配置,其核心是从系统中选择一个数据模型(该数据模型从第三方系统中获取机构、用户等数据),并将数据模型中的字段与机构/用户等属性进行映射。如下
各步骤中,其他特殊设置项说明如下
步骤 | 特殊设置项 | 说明 |
---|---|---|
机构同步 | 顶级机构 | 1)同步的机构树需选择Smartbi系统的现有机构作为其根节点,通常选择“根组”。如下 2)同步的机构数据中,若机构的父机构数据为空,则该机构将被同步到“顶级机构”下。 |
用户同步 | 密码 | 用户的密码属性支持“绑定字段”和“使用固定密码”两种选项。 1、绑定字段:即选择数据模型中的字段,将第三方系统的密码数据同步到用户的密码属性中。绑定的字段数据支持明文密码和加密密码。 1)明文密码:即第三方系统的密码数据为明文。支持选择密码在Smartbi中的加密方式(MD5、DES或明文)。Smartbi会根据加密方式对密码进行加密存储。 2)加密密码:即第三方系统的密码数据为加密后的密文。若第三方系统密码的加密算法与Smartbi中的加密算法一致,则可以直接同步到Smartbi系统中,并选择密码的加密方式。Smartbi同步时会根据所选择的“密码加密方式”,在密码的密文前增加前缀(MD5加密则前缀为0,DES加密则前缀为1,明文则前缀为2)后存储在Smartbi中。 2、使用固定密码:为同步的所有用户设定一个固定密码,并选择密码加密方式。Smartbi会根据加密方式对密码进行加密存储。 |
更新用户时同步密码 | 同步密码:用户同步时,若用户已在Smartbi系统中存在,则更新用户时会使用第三方数据中的密码覆盖Smartbi系统中的密码适用于用户密码在第三方系统中修改维护的场景。 不同步密码:同步用户时,若用户已在Smartbi系统中存在,则只更新用户的用户别名、用户描述等属性,不更新用户的密码。适用于用户需要在Smartbi中单独修改密码的场景。 | |
删除用户已有角色 | 是:同步用户数据时,先删除用户现有的所有角色,再同步用户角色列表。 否:同步用户数据时,不删除用户现有的所有角色。若同时同步用户角色列表,则新增。 | |
扩展属性 | 若用户配置了扩展属性,扩展属性也支持同步。 | |
机构角色同步 |
2)执行计划 步骤
最后1个步骤“执行计划”,进行用户同步计划的定时执行等设置
其他特殊设置项说明如下