java ldap (1)

java ldap (1)


java ldap (1)_第1张图片

java ldap (1)_第2张图片
先用ldapbrowser测试下AD服务器,保证AD是可用的。
以下是java代码:

 

 

package  com.coreware.ems;

import  java.util.Hashtable;

import  javax.naming.Context;
import  javax.naming.NamingEnumeration;
import  javax.naming.NamingException;
import  javax.naming.directory. * ;

public   class  SimpleLDAPClient  {
    
public static void main(String[] args) {
        Hashtable env 
= new Hashtable();

        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;
        
try {
            ctx 
= new InitialDirContext(env);
            SearchControls controls 
= new SearchControls();
            controls.setSearchScope(SearchControls.SUBTREE_SCOPE);
            results 
= ctx.search("""(objectclass=person)", controls);
            
            
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);
            }

        }
 catch (NamingException e) {
            e.printStackTrace();
        }
 finally {
            
if (results != null{
                
try {
                    results.close();
                }
 catch (Exception e) {
                }

            }

            
if (ctx != null{
                
try {
                    ctx.close();
                }
 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

你可能感兴趣的:(java ldap (1))