单个用户返回多个 LDAP 查询条目

单个用户返回多个 LDAP 查询条目

询问后这个问题,我有一个如下所示的 LDAP 查询:

(&(cn=*)(networkAddress=*)(objectClass=user))

但是,如果用户有多个cn,则会返回多次。 有办法阻止这种情况发生吗?

答案1

由于许多模式实现中的 CN 是多值的,并且不能保证是唯一的,所以一般规则是使用单值且应该是唯一的属性,例如 uid。

在 Active Directory 中,对于单个域,您可以依赖 sAMAccountName,但如果树/林中有多个域,则不能依赖。您可能能够依赖 userPrincipalName,其结构通常为[电子邮件保护]但与 sAMAccountName 不同,没有验证这实际上是一个唯一值。

我通过实验注意到(好吧,我犯了一些拼写错误)UPN 可以是任何值,并且没有强制要求。

答案2

对我来说这听起来是正确的结果......

如果您使用像 ldapsearch 这样的工具会发生什么情况?

答案3

我对 python 数据类型一无所知,但是你不能只捕获对象中的输出,然后检查它是数组还是字符串。如果是数组,则只取第一条记录,如果是字符串,则直接取它。

我的意思是这就是我在 vbscript 中处理用户组成员资格相关查询的方式。

相关内容