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 68 69 70 71 72 73 74 75 76 77 78 79
|
public class TestLdap {
public static void main(String[] argv) {
String[] attrIDs = {
"sn", "GivenName", "mail", "sAMAccountName", "extensionAttribute3", "extensionAttribute5",
"extensionAttribute7","extensionAttribute11", "extensionAttribute12","Enabled", "distinguishedName",
"employeeNumber", "streetAddress", "postalCode", "telephoneNumber", "title", "division", "department",
"manager", "initials", "info","surname","l","company"
};
SearchControls ctls = new SearchControls(SearchControls.SUBTREE_SCOPE, 0, 0, attrIDs, false, false);
String filter = "(&(objectclass=user)(cn=*))";
String serverIP = "XXXXX";
String serverPort = "XXX";
String serverLogin = "XXXXX";
String serverPass = "XXXX";
Hashtable<String,String> env = new Hashtable<String,String>();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, "ldap://"+serverIP+":"+serverPort+"/");
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL, serverLogin);
env.put(Context.SECURITY_CREDENTIALS, serverPass);
try {
DirContext ctx = new InitialDirContext(env);
System.out.println("Connexion au serveur : OK");
try {
NamingEnumeration<SearchResult> namingEnum = ctx.search("OU=Utilisateurs,DC=XX,DC=XX,DC=XX", filter, ctls);
while (namingEnum.hasMore()) {
SearchResult result = (SearchResult) namingEnum.next();
Attributes attrs = result.getAttributes();
System.out.println(attrs.get("sn"));
System.out.println(attrs.get("GivenName"));
System.out.println(attrs.get("mail"));
System.out.println(attrs.get("sAMAccountName"));
System.out.println(attrs.get("extensionAttribute3"));
System.out.println(attrs.get("extensionAttribute5"));
System.out.println(attrs.get("extensionAttribute7"));
System.out.println(attrs.get("extensionAttribute11"));
System.out.println(attrs.get("extensionAttribute12"));
System.out.println(attrs.get("Enabled"));
System.out.println(attrs.get("distinguishedName"));
System.out.println(attrs.get("employeeNumber"));
System.out.println(attrs.get("streetAddress"));
System.out.println(attrs.get("postalCode"));
System.out.println(attrs.get("telephoneNumber"));
System.out.println(attrs.get("title"));
System.out.println(attrs.get("division"));
System.out.println(attrs.get("department"));
String manager = getString(attrs, "manager");
System.out.println("Manager : " + manager);
System.out.println(attrs.get("initials"));
System.out.println(attrs.get("info"));
System.out.println(attrs.get("surname"));
System.out.println(attrs.get("l"));
System.out.println(attrs.get("company"));
}
namingEnum.close();
} catch (Exception e) {
e.printStackTrace();
}
} catch (NamingException e) {
System.out.println("Connexion au serveur : KO");
e.printStackTrace();
}
}
private static String getString(Attributes attrs, String attribut) {
String valFormat = String.valueOf(attrs.get(attribut));
return valFormat.substring(valFormat.indexOf("=")+1,valFormat.indexOf(","));
}
} |
Partager