页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

一、概述

用户同步是指有多套系统(包括Smartbi系统)都拥有用户信息。当用户信息存储于第三方系统或使用第三方系统进行用户管理时,需要将第三方系统的用户数据同步到Smartbi系统中。

Smartbi提供用户同步功能,支持创建用户同步计划,通过界面化简单配置即可实现定期同步用户数据。


二 、用户同步核心概念

1、三大核心概念

在Smartbi系统中,用户管理涉及三类关键对象,需与第三方系统数据一一对应

对象说明示例
用户组

即“机构”,以树形结构组织,体现层级关系。

Image Added

如广州思迈特软件有限公司->开发部->运维组
角色

Smartbi系统中的主要权限载体,角色可分配给用户及用户组,决定用户在系统中的权限。

Image Added

如组长、普通组员
用户

系统的实际使用者。

Image Added

如张三(登录账号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)进入 运维设置,点击导航栏的 用户同步 菜单  或 点击系统快捷菜单 用户/机构/角色同步 ,打开用户同步模块

Image Added

注意
title注意

使用用户同步功能,前提是具备“计划任务”、“用户同步”的操作权限,因此需要为用户授予对应的操作权限。详情可参考:操作权限


2)点击  新建用户同步计划 ,进入用户同步计划的配置界面

Image Added


2、界面及功能说明

用户同步计划包含5个步骤,分别是:机构同步、角色同步、用户同步、机构角色同步 和 执行计划。

1)机构同步/角色同步/用户同步/机构角色同步 步骤

前4个步骤分别进行机构、角色、用户、机构角色关系的同步配置。具体操作为:从系统中选择一个数据模型(该数据模型从第三方系统中获取机构/用户等数据),并将数据模型中的字段与机构/用户等属性进行映射。如下

Image Added


各步骤中,其他特殊设置项说明如下

步骤特殊设置项说明
机构同步

顶级机构

Image Added

1)同步的机构树需选择Smartbi系统的现有机构作为其根节点,通常选择“根组”。如下

Image Added

2)同步的机构数据中,若机构的父机构数据为空,则该机构将被同步到“顶级机构”下。

用户同步

密码

Image Added


用户的密码属性支持“绑定字段”和“使用固定密码”两种选项。

1、绑定字段:即选择数据模型中的字段,将第三方系统的密码数据同步到用户的密码属性中。绑定的字段数据支持明文密码和加密密码。

1)明文密码:即第三方系统的密码数据为明文。支持选择密码在Smartbi中的加密方式(MD5、DES或明文)。Smartbi会根据加密方式对密码进行加密存储。
Image Added

2)加密密码:即第三方系统的密码数据为加密后的密文。若第三方系统密码的加密算法与Smartbi中的加密算法一致,则可以直接同步到Smartbi系统中,并选择密码的加密方式。Smartbi同步时会根据所选择的“密码加密方式”,在密码的密文前增加前缀(MD5加密则前缀为0,DES加密则前缀为1,明文则前缀为2)后存储在Smartbi中。
Image Added


2、使用固定密码:为同步的所有用户设定一个固定密码,并选择密码加密方式。Smartbi会根据加密方式对密码进行加密存储。

Image Added

更新用户时同步密码

同步密码:用户同步时,若用户已在Smartbi系统中存在,则更新用户时会使用第三方数据中的密码覆盖Smartbi系统中的密码适用于用户密码在第三方系统中修改维护的场景。

不同步密码:同步用户时,若用户已在Smartbi系统中存在,则只更新用户的用户别名、用户描述等属性,不更新用户的密码。适用于用户需要在Smartbi中单独修改密码的场景。

删除用户已有角色

是:同步用户数据时,先删除用户现有的所有角色列表,再同步用户角色列表。

否:同步用户数据时,不删除用户现有的所有角色列表,直接新增角色进入用户的角色列表。

扩展属性若用户配置了扩展属性,扩展属性也支持同步。
机构角色同步

机构角色字段绑定

Image Added

在Smartbi系统中,支持为机构分配角色,且可勾选“应用于子孙组”,则该机构及其所有子孙机构,都拥有对应的角色。

Image Added

因此对于机构所拥有的角色列表,也支持进行同步。

1)机构:绑定机构数据字段,支持机构ID和机构名称。

若机构数据为机构名称,当第三方系统中存在同名机构时,角色无法保证准确分配到对应机构上。

若机构数据为机构ID,由于机构ID为机构在系统中的唯一标识,因此可以保证角色分配到正确的机构下。

2)角色:绑定角色数据字段,支持角色ID和名称

3)是否应用于子孙组:设置角色是否应用于机构的子孙机构。值为0和1。

0:不应用于机构的子孙组

1:应用于机构的子孙组

4)同步逻辑
同步时,会将同步数据中对应的机构在Smartbi系统中现有的角色全部删除,再同步新的角色数据到Smartbi系统中。


2)执行计划 步骤

最后1个步骤“执行计划”,进行用户同步计划的定时执行等设置

Image Added

设置项说明如下:

设置项说明

无归属管理机构

逻辑删除
逻辑删除

无归属管理机构主要用于对机构、角色的逻辑删除处理。

1)需要指定1个Smartbi系统现存的机构作为无归属管理机构。

2)同步过程中,状态为0的机构和角色,会被自动移动到无归属管理机构下。用户可在同步完成后,访问“用户管理“模块”,对无归属管理机构下的机构、角色进行物理删除等处理。

用户同步计划名称用户同步计划的名称
用户同步执行计划

用户同步计划的执行设置,支持设置用户同步计划定时执行、启用/禁用用户同步计划。
点击打开设置界面,如下

Image Added

该界面与“计划”功能一致,详情可参考:新建计划


3、整体同步逻辑

机构同步逻辑:同步时,若机构在Smartbi中不存在,则新增;若存在,则更新机构。若机构状态为0,同时将机构移动到无归属管理机构下。

角色同步逻辑:同步时,若角色在Smartbi中不存在,则新增;若存在,则更新角色。若角色状态为0,同时将角色移动到无归属管理机构下。

用户同步逻辑:同步时,若用户在Smartbi中不存在,则新增;若存在,则更新用户。

机构角色同步逻辑:同步时,先将同步数据中对应的机构在Smartbi系统中现有的角色列表全部删除,再同步数据到Smartbi系统中。

注意
title注意

注意:删除机构的角色列表数据时,不会删除机构从其父级机构集成的角色。


四、实施用户同步

步骤1:明确同步需求

通常第三方系统都拥有自己的组织机构树及用户数据,因此推荐同步机构、用户数据,有利于对机构、用户的统一管理。

而角色是权限的载体,第三方系统与Smartbi系统的权限体系通常相差较大,因此不推荐进行角色的同步。

内容

是否推荐同步

机构
角色
用户
机构角色

步骤2:属性映射确定

在明确同步需求后,需要确认机构、用户属性与第三方系统数据的字段映射关系。可下载附件的execl表格,确定映射字段并进行填写。附件:机构用户与第三方系统数据映射表.xlsx

以下为填写示例:

Image Added

Image Added

步骤3:创建数据模型

确定好同步内容和字段映射后,在Smartbi系统中创建数据模型:根据上一步骤中填写的表格,通过数据源表或者SQL等方式,从第三方系统中获取机构、用户数据和字段。

数据模型功能参考:查询并准备数据

步骤4:创建用户同步计划

用户同步计划的前4个步骤:机构同步、角色同步、用户同步、机构角色同步为可选步骤,至少选择1个步骤进行配置即可。

当存在多个同步对象时,因为对象之间存在依赖关系:角色、用户数据依赖机构;用户数据依赖角色;机构角色列表依赖机构和角色。因此推荐按照机构、角色、用户、机构角色的顺序分别创建用户同步计划,且同步计划的执行时间间隔半小时以上,保证被依赖的数据同步完成后再进行后续数据的同步。

Image Added

步骤5:验证

按照设定的执行时间,系统会自动执行同步计划。可通过以下方式查看执行结果

1)进入“计划任务”-“计划调度日志”中搜索同步计划名称,查看调度日志

Image Added

2)进入“用户管理”,查看最新的机构信息

Image Added


五、用户同步计划管理

用户同步计划的管理参考:用户同步计划管理