LDAP Look up

来源:互联网 发布:免费日语自学软件 编辑:程序博客网 时间:2024/04/30 02:38

import java.util.Properties;
import java.util.Hashtable;
import javax.naming.ldap.InitialLdapContext;
import javax.naming.NamingException;

import java.util.Properties;
import javax.naming.InitialContext;
import javax.naming.directory.Attributes;
import javax.naming.directory.BasicAttribute;
import javax.naming.Context;
import javax.naming.directory.*;
import javax.naming.*;
//import org.apache.ldap.common.message.Control;

public class TEST1 {

 private void putAttribute(Attributes attrs, 
   String attrName, String attrValue) {
   if (attrValue != null && attrValue.length() != 0) {
   Attribute attr = 
   new BasicAttribute(attrName, attrValue);
   attrs.put(attr);
   }
   }

 public static void main(String[] args) throws NamingException {
     TEST1 s = new TEST1();
     s.doProcess();
    
 }
 public void doProcess() throws NamingException{
     Properties p = new Properties();
   
     p.setProperty("java.naming.factory.initial","com.sun.jndi.ldap.LdapCtxFactory");
     p.setProperty("java.naming.provider.url","ldap://localhost:389");
   
     p.setProperty("java.naming.security.authentication","simple");
     p.setProperty(Context.SECURITY_PRINCIPAL, "CN=administrator,cn=users,dc=lisa,dc=beijing,dc=indigo");
     p.put(Context.SECURITY_CREDENTIALS, "LISA429");
     InitialLdapContext ctx = new InitialLdapContext(p,null);
   
    
     SearchControls constraints = new SearchControls();
     constraints.setSearchScope(SearchControls.SUBTREE_SCOPE);

     NamingEnumeration e = ctx.search("cn=lisa ni,ou=newOU,dc=lisa,dc=beijing,dc=indigo", "(&(objectClass=user))", constraints);


    
     while (e.hasMore()) {
      SearchResult entry = (SearchResult) e.next();

      Attributes attrs = entry.getAttributes();
      if (attrs == null) {
         System.out.println("Pas d'attributs");
      } else {
      
      System.out.println(attrs.get("Department"));
      }
     }

 

   
 }