LDAP查询使用更长的通配符返回更多结果

时间:2015-01-27 20:33:22

标签: active-directory ldap

LDAP通配符搜索如何工作?我似乎很想念一些东西。

我有一个类似于

的查询
(|(cn=john*)(sn=john*)(givenName=john*))

返回30个结果,一个类似于

(|(cn=johns*)(sn=johns*)(givenName=johns*))

返回162个结果。输入的唯一区别是第二个在通配符之前有更多字母。

两个查询都成功,没有错误,结果数量较少是较大数字的子集;输出端的唯一区别是第二个查询返回更多结果。

1 个答案:

答案 0 :(得分:0)

您的查询是完全完成还是返回X结果然后出现某种错误?

我可以想象一种情况,即由于“john”太常见而且超出了索引的限制,因此不能保持较短值“john *”的索引。在这种情况下,LDAP服务器可能会回退到遍历目录中的所有条目,然后再达到另一个限制 - 可以在服务器端遍历多少条目。不幸的是,只发现并返回了许多匹配的条目。但是......如果是这种情况,最后应该有某种错误/警告/异常。

使用较长的值“johns *”,索引可能就位,因为此类值的条目较少,因此服务器可以依赖它来返回完整的结果集。

相关问题