ldap 搜索过滤器检查特定域下是否存在任何用户

ldap search filter to check if any user exists under specific domain

我正在尝试使用 ldap 搜索验证特定域下是否至少有一个用户。

我使用了这个过滤器,但没有任何匹配:

dc=example,dc=com sub (&(objectClass=user)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)) 
(sAMAccountName=*))

一旦我尝试了这个,它就有了一个匹配项:

dc=example,dc=com sub (&(objectClass=user)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)) 
(sAMAccountName=Admini*))

你能帮我解决这个问题吗?

是的,RFC2254 确实为“LDAP 搜索过滤器的字符串表示”定义了“*”通配符模式。

但它可能不会被所有 LDAP 服务器实现。
nmcclain/ldap should support it

这样的 Go LDAP 服务器

但与 mentioned here 一样,“*”搜索可能会超时(因为如果需要很长时间才能完成)