Bonjour,
Je souhaite mettre en place un trombinoscope sur mon Intranet (600 personnes);Je ne souhaite pas en trouver un tout fait.
Je viens juste de commencer le projet et je rencontre un problème lorsque je lance une recherche dans mon active Directory.
Le message d'erreur est le suivant : il s'arrête à la ligne "Unable to search LDAP serveur".
J'ai remarqué que si j'enlève le "@" avant ldap_search, il me mets une erreur sur la fonction ldap-search. J'ai soit "Bad search filter, soit Operation error in function search....bref, je tourne en rond.
Ci-joint mon code.
Ma question est : est ce mon code qui bug ou y a t'il une modif à faire dans l'AD?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <?php $ldap_server = "ldap://domA.domB.dom"; // Set the base dn to search the entire directory. $base_dn = "DC=domA, DC=domB, DC=dom"; // Show only user persons $filter = "(&(objectClass=user)(objectCategory=person) (|(name=$name*)(displayname=$name*)(cn=$name*)))"; // Enable to show only users // $filter = "(&(objectClass=user)(cn=$*))"; // Enable to show everything // $filter = "(cn=*)"; // connect to server if (!($connect=@ldap_connect($ldap_server))) { die("Could not connect to ldap server"); } // bind to server //if (!($bind=@ldap_bind($connect, $auth_user, $auth_pass))) { // die("Unable to bind to server"); //} if (!($bind=@ldap_bind($connect))) { die("Unable to bind to server"); } // search active directory if (!($search=@ldap_search($connect, $base_dn, $filter))) { die("Unable to search ldap server"); } $number_returned = ldap_count_entries($connect,$search); $info = ldap_get_entries($connect, $search); echo "The number of entries returned is ". $number_returned."<p>"; for ($i=0; $i<$info["count"]; $i++) { echo "Name is: ". $info[$i]["name"][0]."<br>"; echo "Display name is: ". $info[$i]["displayname"][0]."<br>"; echo "Email is: ". $info[$i]["mail"][0]."<br>"; echo "Telephone number is: ". $info[$i]["telephonenumber"][0]."<p>"; } ?>
Environnement : Deux domaines (enfant : DomA) et racine (domB) et un exchange 2003. Tout tourne en windows server 2003.
Serveur php : en local sur ma machine, avec WAMP5 (Ps : LDAP est activé dans les extensions php).
Merci pour les réponses que vous pourriez poster.
Ed
Partager