如何在Java中设置LDAP客户端请求的大小限制?
国家: 程序员应始终提供客户端请求的大小限制 如何在Java中实现这一点?我在表格中找不到合适的选项如何在Java中设置LDAP客户端请求的大小限制?,java,ldap,jndi,Java,Ldap,Jndi,国家: 程序员应始终提供客户端请求的大小限制 如何在Java中实现这一点?我在表格中找不到合适的选项 有人能给我一个提示吗?如果客户端正在使用未绑定的LDAP SDK: SearchRequest req = new SearchRequest(baseObject,scope,filter,requestedAttributes); req.setSizeLimit(maxNumberOfEntriesToReturn); 如果客户端正在使用JNDI,请使用 StutoCuthLime,并考
有人能给我一个提示吗?如果客户端正在使用未绑定的LDAP SDK:
SearchRequest req = new SearchRequest(baseObject,scope,filter,requestedAttributes);
req.setSizeLimit(maxNumberOfEntriesToReturn);
如果客户端正在使用JNDI,请使用<代码> StutoCuthLime,并考虑使用unBunDeLDAP SDK代替JNDI进行新代码。
。SETSIZLIMIT()不利于增加服务器的大小限制。
这个代码也是 SearchControls ctls = new SearchControls();
ctls.setCountLimit(99000);
您应该使用分页模式
public static void main(String[] args) {
try {
int count = 0;
LDAPConnection connection = new LDAPConnection("hostname", 389, "user@domain", "password");
final String path = "OU=Users,DC=org,DC=com";
String[] attributes = {"SamAccountName","name"};
SearchRequest searchRequest = new SearchRequest(path, SearchScope.SUB, Filter.createEqualityFilter("objectClass", "person"), attributes);
ASN1OctetString resumeCookie = null;
while (true)
{
searchRequest.setControls(
new SimplePagedResultsControl(100, resumeCookie));
SearchResult searchResult = connection.search(searchRequest);
for (SearchResultEntry e : searchResult.getSearchEntries())
{
if (e.hasAttribute("SamAccountName"))
System.out.print(count++ + ": " + e.getAttributeValue("SamAccountName"));
if (e.hasAttribute("name"))
System.out.println("->" + e.getAttributeValue("name"));
}
LDAPTestUtils.assertHasControl(searchResult,
SimplePagedResultsControl.PAGED_RESULTS_OID);
SimplePagedResultsControl responseControl =
SimplePagedResultsControl.get(searchResult);
if (responseControl.moreResultsToReturn())
{
resumeCookie = responseControl.getCookie();
}
else
{
break;
}
}
}
catch (Exception e)
{
System.out.println(e.toString());
}
}我使用的是来自Oracle的Java(TM)SE运行时环境(build 1.7.0_15-b03)。它与什么版本没有任何区别。JNDI已经内置到Java中超过十年了,而API在这段时间里几乎没有任何变化。@EJP但未绑定的LDAP SDK似乎是JNDI的替代品,不是吗?