使用 Netscape 库执行 LDAP 搜索操作并在提供范围 (0-*) 时获得最多 10000 的有限结果
Using Netscape library for performing LDAP search operation and getting limited result upto 10000 when range is provided (0-*)
我正在使用 Netscape 库在 Microsoft 上执行搜索操作 ADS/ADAM Ldap 服务器
以下是我正在使用的片段:
LDAPConnection connection=new LDAPConnection();
connection.connect("xx.xx.xx.xx", 389);
connection.authenticate( "CN=xx,CN=xx,DC=xx,DC=xx,DC=xx", "xxxx");
String[] attr= { "member;range=0-*" };
LDAPSearchResults resultSet = connection.search("CN=UsersGroup,CN=Builtin,DC=xx,DC=xx,DC=xx", 2, "(&(objectclass=group))", attr,false);
API 仅返回“成员”多值属性的 10000 条记录。
服务器上的 MaxValRange 值设置为 50000。
有什么方法可以在单次搜索中获得超过 10K 条记录?
AFIK,除了修改 MaxValRange 之外,您还需要覆盖 Windows Server 2008/R2 中引入的上限并恢复旧式(LDAP 查询策略没有上限强制行为 Windows Server 2003), 修改Active Directory中的dSHeuristic attribute.
当然你可以使用 Ranging OID。
前段时间,我们确实创建了一些 Example Java code 来简化流程。
我正在使用 Netscape 库在 Microsoft 上执行搜索操作 ADS/ADAM Ldap 服务器 以下是我正在使用的片段:
LDAPConnection connection=new LDAPConnection();
connection.connect("xx.xx.xx.xx", 389);
connection.authenticate( "CN=xx,CN=xx,DC=xx,DC=xx,DC=xx", "xxxx");
String[] attr= { "member;range=0-*" };
LDAPSearchResults resultSet = connection.search("CN=UsersGroup,CN=Builtin,DC=xx,DC=xx,DC=xx", 2, "(&(objectclass=group))", attr,false);
API 仅返回“成员”多值属性的 10000 条记录。
服务器上的 MaxValRange 值设置为 50000。
有什么方法可以在单次搜索中获得超过 10K 条记录?
AFIK,除了修改 MaxValRange 之外,您还需要覆盖 Windows Server 2008/R2 中引入的上限并恢复旧式(LDAP 查询策略没有上限强制行为 Windows Server 2003), 修改Active Directory中的dSHeuristic attribute.
当然你可以使用 Ranging OID。
前段时间,我们确实创建了一些 Example Java code 来简化流程。