1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
   |  
import java.util.Hashtable;
 
import javax.naming.Context;
import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
import javax.naming.directory.Attribute;
import javax.naming.directory.Attributes;
import javax.naming.directory.SearchResult;
import javax.naming.ldap.InitialLdapContext;
import javax.naming.ldap.LdapContext;
 
public class Test_LDAP {
	public static void main(String[] args) {
 
		String LDAP_CONTEXT_FACTORY = "com.sun.jndi.ldap.LdapCtxFactory";
		String LDAP_SERVER_URL = "LDAP://10.0.0.0:389";
		String LDAP_BASE_DN = "DC=Develo,DC=COM";
		String LDAP_AUTHENTICATION_MODE = "simple";
		String LDAP_USER = "Develo" + "\\" + "Administrateur";
		String LDAP_PASSWORD = "password";
 
		Hashtable<String, String> env = new Hashtable<String, String>();
		env.put(Context.INITIAL_CONTEXT_FACTORY, LDAP_CONTEXT_FACTORY);
		env.put(Context.PROVIDER_URL, LDAP_SERVER_URL + "/" + LDAP_BASE_DN);
		env.put(Context.SECURITY_AUTHENTICATION, LDAP_AUTHENTICATION_MODE);
		env.put(Context.SECURITY_PRINCIPAL, LDAP_USER);
		env.put(Context.SECURITY_CREDENTIALS, LDAP_PASSWORD);
 
		try {
			// LdapContext
			LdapContext ctx = new InitialLdapContext(env, null);
 
		    //Filtre du LDAP
			NamingEnumeration<SearchResult> userAnswer = ctx.search("OU=Comptes,OU=STM", null);
 
			//Parcourir tous les Utilisateurs
			while (userAnswer.hasMoreElements()) {
				SearchResult sr = (SearchResult) userAnswer.next();
				Attributes attrs = sr.getAttributes();
 
				if (attrs != null) {
					try {
						//Récupération des attributs
						for (NamingEnumeration ae = attrs.getAll(); ae.hasMore();) {
							Attribute attr = (Attribute) ae.next();
							if (attr.getID().equals("sn")) {
								System.out.println(attr.get(0).toString());
							}
							if (attr.getID().equals("displayName")) {
								System.out.println(attr.get(0).toString());
							}
						}
					} catch (NamingException e) {
						System.err.println("Défaut : " + e);
						e.printStackTrace();
					}
				}
			}
			ctx.close();
		}
		catch (NamingException e) {
			System.err.println("Problème de connexion");
			e.printStackTrace();
		}
	}
} | 
Partager