Bonjour à tous,
Je rencontre quelques problemes concernant php/ldap, je vous explique en gros ma situtation...
Voila, je suis actuellement en stage de BTS Informatique de Gestion 2eme année.
Je dois completer un intranet... Je dois donc faire un service de demandes d'intervention de pannes du reseau de mon bahut.
L'application disposera de deux parties :
-Partie utilisateurs, pour la demande d'intervention
-Partie administrateurs, afin de consulter les demandes, les traiter etc...
Et c'est sur cette deuxieme partie que cela se complique..
En effet, j'aimerai que l'accés dépende du type de personne. Un éléve n'y aurait donc pas accés.
Comme la majorité des établissements, les ordinateurs disposent de sessions windows.
A l'aide du code ci-dessous, je récupere le nom de l'utilisateur de la session windows en cours :
Avec ce nom, je souhaite vérifier que la personne est présente dans le groupe d'administrateurs de l'active directory...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $username=shell_exec("echo %username%" ); echo ("username : $username" );
Etant un débutant dans le LDAP, je séche enormement quant a son utilistation, même aprés plusieurs consultations sur le net...
Voila ce que donne mon code en gros :
-- ? -- signifiant les variables dont je ne suis pas sûr de leur définition
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 <?php $server = "-- Serveur --"; $port = "389"; $rootdn = "-- ? --"; $rootpw = ""; echo "Connexion...<br>"; $ds=ldap_connect($server,$port) or die( "Impossible de se connecter au serveur LDAP $server" ); $username=shell_exec("echo %username%" ); echo ("username : $username" ); if ($ds<>0) { ldap_set_option ($ds, LDAP_OPT_PROTOCOL_VERSION, 3); ldap_set_option($ds, LDAP_OPT_REFERRALS, 0); $r=ldap_bind($ds,"-- ? --","-- ? --"); $sr = ldap_search($ds,$rootdn,"sn=*"); echo "Le résultat de la recherche est ".$sr."<br />"; $nb = ldap_get_entries($ds, $sr); echo "Nombre de personnes trouvées : ".$nb["count"]. "<p>"; for ($i=0;$i<$nb["count"];$i++) { echo "Name : ". $nb[$i]["dn"] ."<br>";// afichier DN des user } echo "Déconnexion...<br>"; ldap_close($ds); } else { echo "Impossible de se connecter au serveur LDAP"; } ?>
Voici l'affichage correspodant au code ci-dessus :
Ensuite, j'ai installé OpenLDAP, mais je ne pense pas que j'en ai l'utilité, vu que je souhaite consulter directement sur le serveur du bahut...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Connexion... username : nom Warning: ldap_search() [function.ldap-search]: Search: No such object in C:\Program Files\EasyPHP 3.0\www\intranet\administration\administration.php on line 35 Le résultat de la recherche est Warning: ldap_get_entries(): supplied argument is not a valid ldap result resource in C:\Program Files\EasyPHP 3.0\www\intranet\administration\administration.php on line 37 Nombre de personnes trouvées : Déconnexion...
Je ne sais même pas, si la connexion est véritablement établie.
Si vous avez besoin d'informations complémentaires, dites le moi, que je ne sais pas trop ce qui est nécessaire etc...
Je vous remercie par avance.
Partager