Skip to content

数据库用户和组织数据同步插件#

功能介绍#

  1. Server模式实现了可以通过标准SCIM接口获取数据库服务器中的用户和组织
  2. Client模式实现了可以通过定时任务拉取SCIM Server中的用户和组织, 同步到客户端数据库中
  3. 此插件暂时只支持mysql和sqlserver

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

创建两个数据库和表#

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

    提示

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

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

    注意

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

配置 Mysql 源数据库#

BjpL33.png

Bjp05j.png

提示

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

Bjp3C5.png

Bjp7Bm.png

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

BjpL33.png

BjpEb4.png

提示

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

查看Server数据库表数据#

BjpQRh.png

BjpNZ9.png

BjpuqY.png

查看Client数据库表数据#

BjpwDH.png

BjpyMZ.png

BjpK3U.png

评论