如何在 LDAP 上运行范围查询

Rit*_*yak 2 jndi ldap active-directory ldap-query

我正在尝试检索有关 LDAP 组的数据。由于我需要对结果进行分页,因此我需要运行范围查询。我的设置使用 JNDI 连接到 LDAP。我正在尝试运行此查询

 (&(objectclass=group)(range=1-500))
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?我知道 LDAP 有基于范围的查询,如何修改此查询以获得相同的查询?

Per*_*alt 5

分页是一回事,范围是另一回事。当条目超过 1000 个时(至少这是 Active Directory 中的默认值),您可以对从 LDAP 服务器返回的结果进行分页。

MSDN 有一篇关于如何在 .NET 中进行分页搜索的文章;希望您可以将其转化为您的环境。

范围是不同的。当您拥有具有大量值的多值属性(通常member是组的- 属性)时,您可以使用范围。所以你不能在查询中有范围。您需要在访问多值属性时指定范围(而不是仅member在代码中指定访问您指定的属性值member;range=1-500以从该多值属性中获取前 500 个值)。