Skip to content

SQL Server 用户数据同步插件#

功能介绍#

  1. Server模式实现了可以通过标准SCIM接口获取SQL Server数据库中的用户和组织
  2. Client模式实现了可以通过定时任务拉取SCIM Server中的用户和组织, 同步到SQL Server数据库中

配置两个SQL Server数据库之间数据库同步#

创建两个数据库和表#

  • 创建作为提供同步数据的Server数据库,建立users, groups表, 以及user所属groups的中间表users_groups,
    users_groups中间表中user_id外键关联users(id), group_id外键关联groups(id)

    提示

    此例中演示user和group之间是ManyToMany的关系, 如果user只属于一个group,可以在users表中定义group_id,外键关联groups(id)

  • 创建Client数据库,用于将Server数据库提供的数据同步到Client数据库

    注意

    为演示方便,Client数据库中的表定义和Server数据库一样,实际生产环境中可能不同

配置SQL Server 源数据库#

vgGHo9.png

vTz36J.png

提示

如果user和group是多对一的关系,需填入用户表Group外键字段
如果user和group是多对多的关系,需填入用户和组织多对多关系表用户组织关系表User外键字段用户组织关系表Group外键字段
group上下级之间关联的字段需要设置组织表Parent外键字段
用户和组织属性映射列表中必须存在target_attr为id的映射, 此处id为SCIM协议中user和group的唯一标识

配置从源数据库同步数据到Client数据库#

vgGHo9.png

vTzTns.png

提示

如果user和group是多对一的关系,需填入用户表Group外键字段
如果user和group是多对多的关系,需填入用户和组织多对多关系表用户组织关系表User外键字段用户组织关系表Group外键字段
group上下级之间关联的字段需要设置组织表Parent外键字段
用户和组织属性映射列表中必须存在source_attr为id的映射,用于匹配Server和Client数据库中的数据, 判断数据是否已经同步过

查看Server数据库表数据#

v7ST2D.png

v7SbKH.png

v7SXVI.png

查看Client数据库表数据#

v7Sqrd.png

v7SLqA.png

v7S7xe.png

评论