我正在使用下一个代码来获取AD中的所有用户
Hashtable<String, String> env = new Hashtable<String, String>();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, "ldap://grupoasisa.local:636");
env.put(Context.SECURITY_PROTOCOL, "ssl");
env.put(Context.SECURITY_PRINCIPAL, "DOMASISA\\"+USER_SERVICE);
env.put(Context.SECURITY_CREDENTIALS, PASSWORD_SERVICE);
try {
DirContext ctx = new InitialLdapContext(env, null);
SearchControls searchCtls = new SearchControls();
String returnedAtts[]={"sAMAccountName", "description", "mail"};
searchCtls.setReturningAttributes(returnedAtts);
//Specify the search scope
searchCtls.setSearchScope(SearchControls.SUBTREE_SCOPE);
searchCtls.setTimeLimit(0);
searchCtls.setCountLimit(0);
//Specify the LDAP search filter
String searchFilter="(&(objectCategory=person)(objectClass=user))";
//Specify the Base for the search
String searchBase = "DC=grupoasisa,DC=local";
// Search for objects using the filter
NamingEnumeration<SearchResult> answer = ctx.search(searchBase, searchFilter, searchCtls);
//Loop through the search results
while (answer.hasMoreElements()) {
SearchResult searchResult = answer.next();
Attributes attrs = searchResult.getAttributes();
Attribute usuWin = attrs.get("sAMAccountName");
Attribute racf = attrs.get("description");
Attribute email = attrs.get("mail");
}
} catch (NamingException e) {
System.err.println("Error: "+e.getMessage());
} catch (Exception e) {
System.err.println("Error: "+e.getMessage());
}
虽然我指的是搜索无限制,但我只收到了1000条第一条记录。怎么了?
提前致谢。