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"));
}
}
}
}