eryajf / go-ldap-admin

🌉 基于Go+Vue实现的openLDAP后台管理项目
http://ldapdoc.eryajf.net
Apache License 2.0
1.53k stars 259 forks source link

钉钉组织架构无法同步,钉钉用户无法同步 #290

Closed b1uecream closed 8 months ago

b1uecream commented 9 months ago

您使用的版本? | Your usage version?

v0.5.15 2023-11-12

您使用的场景? | Your usage scenarios?

ldap同步钉钉

您做了什么操作? | What did you do?

  1. 安装官方文档进行安装;
  2. 在前端配置字段关系管理,如图: 钉钉用户字段关系 user 钉钉组织架构字段关系 group
  3. 在分组管理中点击同步钉钉部门,查看response,data为null group_result 4.在用户管理中点击同步钉钉用户信息,查看 response,提示向mysql创建用户失败。 user_result 5.在碰到问题后,我参考了issue#256issue#231,通过第三方工具同步组织架构和用户是正常的,但页面仍然无法进行同步。 tt_group tt_user

您遇到了什么问题? | What are your problems?

无法同步钉钉组织架构和钉钉用户

您期望的结果是怎样的? | What is your expected outcome?

能够顺利完成同步。

eryajf commented 9 months ago

您好 @b1uecream👋,我已收到您的反馈,我将安排时间考虑您提交的信息并进行回复。-- 这条信息是由自动回复的机器人发出的。

Hello @b1uecream. I have received your feedback, and I will arrange time to consider the information you submitted and reply. -- This message is sent by an automatic reply robot.

eryajf commented 9 months ago

同步用户的这个错误主要是ganchen的手机号与表中已有数据重复了。目前设置的手机号必须唯一,所以会有这个错误出现。

一个比较简单的解决办法是,你可以连上数据库,搜索一下user表,where一下这个手机号,先把这条数据的手机号调整下,然后再次去同步,就可以了。

eryajf commented 9 months ago

另外给这个反馈点个赞,非常清晰,一眼就能看出来问题。

b1uecream commented 9 months ago

同步用户的这个错误主要是ganchen的手机号与表中已有数据重复了。目前设置的手机号必须唯一,所以会有这个错误出现。

一个比较简单的解决办法是,你可以连上数据库,搜索一下user表,where一下这个手机号,先把这条数据的手机号调整下,然后再次去同步,就可以了。

我把数据库中users表里除了admin的行都删除后,再次同步组织和用户,发现组织架构仍然无法同步,用户每次同步仅一条信息。 group_result

user_result

eryajf commented 9 months ago

刚刚表达的意思是只调整一下手机号字段重复的那条记录就可以了,现在清空了表,但其实ldap里边数据是还在的,所以会出现这个错误。

现在你可以把ldap持久化的目录删除,把表里对应数据也清空,从头来过一遍。

b1uecream commented 9 months ago

用ldap admin连接了一下openldap,发现组织架构整个是空的 WX20231214-142526

eryajf commented 9 months ago

按说在部门同步成功没报错之后,就应该能看到部门信息了。 建议你把所有数据删除,然后从头来过

jiangslee commented 9 months ago

image @eryajf 大佬有群吗,我这也同步不了用户

eryajf commented 9 months ago

image @eryajf* 大佬有群吗,我这也同步不了用户

你这个图显示已经是在同步中了,没有给到具体的错误信息,无法定位

jiangslee commented 9 months ago

image image image 同步部门一闪而过,没有报错信息,同步用户就如前贴的图,刷完啥也没留下来。。。找不到报错信息

eryajf commented 9 months ago

同步部门一闪而过,没有报错信息

这个一闪而过之后,看group表里,是否有对应的部门数据呢,按说同步成功了,就不应该没数据的。看你上边用tools也是能拿到的

jiangslee commented 9 months ago

image image

没有呢,昨天还同步得了部门,会不会接口钉钉返回不了数据?

jiangslee commented 9 months ago

用户怎么都同步不了,清了数据后,部门今天也同步不了

eryajf commented 9 months ago

我看串了,你俩同时在一个issue里反馈,我信息混乱了。

在碰到问题后,我参考了https://github.com/eryajf/go-ldap-admin/issues/256 和issue#231,通过第三方工具同步组织架构和用户是正常的,但页面仍然无法进行同步。

你也通过这里提到的工具,跑一跑,看看能不能拿到数据

jiangslee commented 9 months ago

我看串了,你俩同时在一个issue里反馈,我信息混乱了。

在碰到问题后,我参考了#256 和issue#231,通过第三方工具同步组织架构和用户是正常的,但页面仍然无法进行同步。

你也通过这里提到的工具,跑一跑,看看能不能拿到数据

我curl跑了次department/list的接口能拿到数据,我只能再试试清空数据再重来一次。。。

jiangslee commented 9 months ago

@b1uecream image 提示一下,你的这个值好像有误。

我重清数据获取到部门的步骤:

  1. docker-compose down
  2. rm -rf ./data
  3. groups、group_users表从数据库truncate掉
  4. docker-compose up -d同步部门成功

可能是我用户数据太多了,同步人员超时暂时还是无法完成人员的同步。

b1uecream commented 9 months ago

@b1uecream image 提示一下,你的这个值好像有误。

我重清数据获取到部门的步骤:

  1. docker-compose down
  2. rm -rf ./data
  3. groups、group_users表从数据库truncate掉
  4. docker-compose up -d同步部门成功

可能是我用户数据太多了,同步人员超时暂时还是无法完成人员的同步。

我直接用生产环境方式部署的。

但我清空了mysql数据库里的表和ldap组织架构之后,按照钉钉实操进行配置后,组织架构同步ok了,但同步用户的时候仍然有报错,报错信息如下: WX20231215-165128

b1uecream commented 9 months ago

找到问题的原因了,根据配置文件里面的ldap用户OU部分的配置,检查ldap,发现LDAP在同步组织架构后没有添加对应的ou,手动创建这个OU之后,进行同步,成功。 4321

eryajf commented 9 months ago

找到问题的原因了,根据配置文件里面的ldap用户OU部分的配置,检查ldap,发现LDAP在同步组织架构后没有添加对应的ou,手动创建这个OU之后,进行同步,成功。 4321

这个ou在这个里边定义着 https://github.com/eryajf/go-ldap-admin/blob/main/docs/docker-compose/config/init.ldif