- import java.util.Properties;
- import javax.naming.*;
- import javax.naming.directory.*;
- import javax.naming.ldap.*;
- public class LDAPTest {
- public static void main(String[] args) {
- Properties env = new Properties();
- env.setProperty(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
- env.setProperty(Context.SECURITY_AUTHENTICATION, "none");
- env.setProperty(Context.PROVIDER_URL, "LDAP://yourLdapServer:389");
- try {
- LdapContext ctx = new InitialLdapContext(env, null);
- SearchControls searchCtls = new SearchControls();
- searchCtls.setSearchScope(SearchControls.SUBTREE_SCOPE);
- String searchFilter = "objectClass=*";
- //Specify the Base for the search
- String searchBase = "ou=People,O=yourDomain";
- //initialize counter to total the group members
- int totalResults = 0;
- //Specify the attributes to return
- String returnedAtts[] = {"mail"};
- searchCtls.setReturningAttributes(returnedAtts);
- //Search for objects using the filter
- NamingEnumeration answer = ctx.search(searchBase, searchFilter,
- searchCtls);
- //Loop through the search results
- while (answer.hasMoreElements()) {
- SearchResult sr = (SearchResult) answer.next();
- System.out.println(">>>" + sr.getName());
- //Print out the groups
- Attributes attrs = sr.getAttributes();
- if (attrs != null) {
- try {
- for (NamingEnumeration ae = attrs.getAll(); ae.hasMore(); ) {
- Attribute attr = (Attribute) ae.next();
- System.out.println("AttributeID: " + attr.getID());
- for (NamingEnumeration e = attr.getAll(); e.hasMore();
- totalResults++) {
- System.out.println("Attributes:"+e.next());
- }
- }
- } catch (NamingException e) {
- e.printStackTrace();
- System.err.println("Problem listing membership: " + e);
- }
- }
- }
- System.out.println("Total groups: " + totalResults);
- ctx.close();
- }catch (NamingException e) {
- e.printStackTrace();
- System.err.println("Problem searching directory: " + e);
- }
- }
- }
JAVA访问ldap
最新推荐文章于 2024-11-16 22:34:09 发布