![](/images/blogjava_net/afunms/ldap2.jpg)
![](http://www.blogjava.net/images/blogjava_net/afunms/ldap1.jpg)
![](http://www.blogjava.net/images/blogjava_net/afunms/ldap3.jpg)
先用ldapbrowser测试下AD服务器,保证AD是可用的。
以下是java代码:
package com.coreware.ems;
![](/Images/OutliningIndicators/None.gif)
import java.util.Hashtable;
![](/Images/OutliningIndicators/None.gif)
import javax.naming.Context;
import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
import javax.naming.directory.*;
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
public class SimpleLDAPClient
{
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
public static void main(String[] args)
{
Hashtable env = new Hashtable();
![](/Images/OutliningIndicators/InBlock.gif)
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, "ldap://192.168.80.130:389/dc=coreware,dc=com");
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL, "cn=wangfm,cn=Users,dc=coreware,dc=com");
env.put(Context.SECURITY_CREDENTIALS, "abc123!@#");
DirContext ctx = null;
NamingEnumeration results = null;
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
try
{
ctx = new InitialDirContext(env);
SearchControls controls = new SearchControls();
controls.setSearchScope(SearchControls.SUBTREE_SCOPE);
results = ctx.search("", "(objectclass=person)", controls);
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
while (results.hasMoreElements())
{
SearchResult searchResult = (SearchResult) results.next();
Attributes attributes = searchResult.getAttributes();
Attribute attr = attributes.get("cn");
String cn = (String) attr.get();
System.out.println(" Person Common Name = " + cn);
}
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
} catch (NamingException e)
{
e.printStackTrace();
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
} finally
{
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
if (results != null)
{
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
try
{
results.close();
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
} catch (Exception e)
{
}
}
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
if (ctx != null)
{
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
try
{
ctx.close();
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
} catch (Exception e)
{
}
}
}
}
}
运行结果:
Person Common Name = Administrator
Person Common Name = Guest
Person Common Name = afunms
Person Common Name = db2admin
Person Common Name = AFUNMS-WIN2008
Person Common Name = krbtgt
Person Common Name = wangfm