PHP LDAP - recherche ObjectGUID en filtre

Fermé
Shigeru - 27 juin 2012 à 18:31
 Shigeru - 28 juin 2012 à 10:08
Bonjour à tous,

Je suis actuellement entrain de développer une application intranet pour pouvoir ajouter des contacts dans une unité d'organisation située dans l'AD
Je souhaite ,afin de pouvoir afficher une fiche de contact de manière détaillée, pouvoir faire une recherche ciblée avec comme filtre le champ ObjectGUID (celui-ci étant fixe au contact et permet d'éviter l'affichage de deux contacts homonymes).
Je parviens a passer ,grâce à la commande bin2hex, la valeur de l'objectGUID de mon contact par l'URL
C'est au moment de réutiliser celle-ci dans mon filtre que cela ne marche plus.

J'ai bien sur eu l'idée d'utiliser hex2bin: sans succès
Etant débutant en PHP je reste néophyte dans le domaine.


Voici un bout de code:





// LDAP variables
$ldaphost = "192.168.0.1"; // Serveur LDAP
$ldapport = 389; // Port du serveur LDAP
$ldapuser = 'TEST\administrateur'; // DN ou RDN LDAP (Identifiants)
$ldappass = 'Entropia1234'; // Mot de passe associé
$chemin= "OU=test,DC=test,DC=local";


// Connexion LDAP
$ldapconn = ldap_connect($ldaphost, $ldapport) or die("Impossible de se connecter au serveur LDAP $ldaphost");

// Connexion au serveur LDAP
$ldapbind = ldap_bind($ldapconn, $ldapuser, $ldappass);

// Vérification de l'authentification
if ($ldapbind) {
echo "Connexion au serveur réussie... <br />";
} else {
echo "Connexion LDAP échouée...";
}
$objectguid=$_GET['objectguid'];

//Filtre
$filter = "(|(objectguid=hex2bin($objectguid)))";
$justthese = array("ObjectGUID","ou","cn", "sn", "givenname","company","mail","telephonenumber","facsimileTelephoneNumber","mobile","homephone","streetAddress","postalcode","description","l","c");

$sr=ldap_search($ldapconn, $chemin, $filter, $justthese);

$info = ldap_get_entries($ldapconn, $sr);




//l'écho ci-dessous me permet de vérifier si la variable est bien passée
echo "$objectguid";

//la suite étant l'affichage des différents champs.


Bien a vous
Shigeru

PS: j'ai oublié de préciser l'erreur obtenue:

Warning: ldap_search() [function.ldap-search]: Search: Bad search filter in C:\wamp\www\appli\detail.php on line 34 (Ligne de déclaration de $sr)

Warning: ldap_get_entries() expects parameter 2 to be resource, boolean given in C:\wamp\www\appli\detail.php on line 36 (Ligne de déclaration de $info)

Notice: Undefined variable: p in C:\wamp\www\appli\detail.php on line 61
// j'obtiens la même erreur ensuite pour chacun de mes champs
A voir également:

1 réponse

up = )
0