01.
class
TestAD
02.
{
03.
static
DirContext ldapContext;
04.
public
static
void
main (String[] args)
throws
NamingException
05.
{
06.
try
07.
{
08.
System.out.println(
"Début du test Active Directory"
);
09.
10.
Hashtable<String, String> ldapEnv =
new
Hashtable<String, String>(
11
);
11.
ldapEnv.put(Context.INITIAL_CONTEXT_FACTORY,
"com.sun.jndi.ldap.LdapCtxFactory"
);
12.
14.
ldapEnv.put(Context.SECURITY_AUTHENTICATION,
"simple"
);
15.
16.
ldapEnv.put(Context.SECURITY_PRINCIPAL,
"cn=jean paul blanc,ou=MonOu,dc=dom,dc=fr"
);
17.
ldapEnv.put(Context.SECURITY_CREDENTIALS,
"pwd"
);
18.
19.
20.
ldapContext =
new
InitialDirContext(ldapEnv);
21.
22.
23.
SearchControls searchCtls =
new
SearchControls();
24.
25.
26.
String returnedAtts[]={
"sn"
,
"givenName"
,
"samAccountName"
};
27.
searchCtls.setReturningAttributes(returnedAtts);
28.
29.
30.
searchCtls.setSearchScope(SearchControls.SUBTREE_SCOPE);
31.
32.
33.
String searchFilter =
"(&(objectClass=user))"
;
34.
35.
36.
String searchBase =
"dc=dom,dc=fr"
;
37.
38.
int
totalResults =
0
;
39.
40.
41.
NamingEnumeration<SearchResult> answer = ldapContext.search(searchBase, searchFilter, searchCtls);
42.
43.
44.
while
(answer.hasMoreElements())
45.
{
46.
SearchResult sr = (SearchResult)answer.next();
47.
48.
totalResults++;
49.
50.
System.out.println(
">>>"
+ sr.getName());
51.
Attributes attrs = sr.getAttributes();
52.
System.out.println(
">>>>>>"
+ attrs.get(
"samAccountName"
));
53.
}
54.
55.
System.out.println(
"Total results: "
+ totalResults);
56.
ldapContext.close();
57.
}
58.
catch
(Exception e)
59.
{
60.
System.out.println(
" Search error: "
+ e);
61.
e.printStackTrace();
62.
System.exit(-
1
);
63.
}
64.
}
65.
}