As an alternative to what "Web Mavin" as suggested, you can use the javax.naming.ldap Package to retrieve the list of users from an active directory
Sample Snippet below:
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.directory.;
import javax.naming.ldap.;
import javax.naming.*;
import java.util.Hashtable;
import java.util.Enumeration;
public class ActiveDirectoryHelper
{
public static void main(String[] args)
{
Hashtable envVars = new Hashtable();
envVars.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
envVars.put(Context.PROVIDER_URL, "ldap://" + servername);
envVars.put(Context.SECURITY_AUTHENTICATION, "simple");
envVars.put(Context.SECURITY_PRINCIPAL, "username");
envVars.put(Context.SECURITY_CREDENTIALS, "credentials!");
DirContext myContext = new InitialDirContext(envVars);
SearchControls searchCtrls = new SearchControls();
searchCtrls.setSearchScope(SearchControls.SUBTREE_SCOPE);
String[] attributes = { "cn", "telephoneNumber", "sn", "userPrincipalName","memberOf","name" };
searchCtrls.setReturningAttributes(attributes);
String filter = "(objectClass=organizationalPerson)";
NamingEnumeration values = myContext.search("CN=Users,DC=domaincont,DC=com,DC=xx", filter, searchCtrls);
while (values.hasMoreElements())
{
SearchResult result = (SearchResult) values.next();
Attributes attribs = result.getAttributes();
if (null != attribs)
{
for (NamingEnumeration ae = attribs.getAll(); ae.hasMoreElements();)
{
Attribute atr = (Attribute) ae.next();
String attributeID = atr.getID();
for (
Enumeration vals = atr.getAll();
vals.hasMoreElements();
System.out.println(attributeID ": " vals.nextElement())
);
}
}
}
myContext.close();
}
catch (Exception e)
{
//e
}
}
}