[PHP/LDAP] Impossibilité d'interroger l'Active Directory
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 :
Code:
1 2 3
|
$username=shell_exec("echo %username%" );
echo ("username : $username" ); |
Avec ce nom, je souhaite vérifier que la personne est présente dans le groupe d'administrateurs de l'active directory...
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 :
Code:
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";
}
?> |
-- ? -- signifiant les variables dont je ne suis pas sûr de leur définition
Voici l'affichage correspodant au code ci-dessus :
Code:
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... |
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...
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.