Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks
Bibliothèques et frameworks Forum d'entraide sur les frameworks, templates, bibliothèques de code (PDFLib, eZPdf, JpGraph, Artichow, PEAR, etc). Avant de poster : FAQ bibliothèques, toutes les FAQ PHP et cours bibliothèques
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/03/2011, 10h40   #1
Invité de passage
 
Auto-entrepreneur
Inscription : mars 2011
Messages : 1
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Auto-entrepreneur

Informations forums :
Inscription : mars 2011
Messages : 1
Points : 0
Points : 0
Par défaut [LDAP] Recherche dans un annuaire LDAP sur serveur Exchange

Bonjour à tous, je dois créer un script PHP me permettant de parcourir un annuaire LDAP afin d'exporter les utilisateurs d'Exchange.

Je vous met mon code et vous explique ce qui ne va pas après.

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
39
40
41
42
<?php
// Fichier de configuration pour l'interface PHP de notre annuaire LDAP
echo "Connexion...<br>";
$ds = ldap_connect("localhost") or die ("Impossible de se connecter au serveur LDAP."); // Connexion à un serveur LDAP
 
if ($ds) {
	ldap_set_option ($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
 
	$ldapbind = ldap_bind($ds); // Authentification au serveur LDAP
	if ($ldapbind) {
		echo "Connexion LDAP réussie<br />";
	} else {
		echo "Connexion LDAP échouée<br />";
	}
 
	$dn = "o=monorganisation.fr, c=FR";
	$filter="(|(sn=J*)(givenname=J*))";
	$attributes = array("ou", "sn", "givenname", "mail");
	$sr = ldap_search($ds, $dn, $filter, $attributes); // Recherche sur le serveur LDAP
	if($sr) {
		echo "La recherche est bonne<br />";
	} else {
		echo "Erreur dans la recherche<br />";
	}
 
	$entry = ldap_count_entries($ds, $sr); // Compte le nombre d'entrées après une recherche
	if ($entry === false) {
			echo '0 en tant que <b>false</b><br />';
	} else {
			echo '0 en tant que <b>0</b><br />';
	}
 
	$ldapclose = ldap_close($ds); // Déconnecte d'un serveur LDAP
	if($ldapclose) {
		echo "La déconnexion a réussie";
	} else {
		echo "La déconnexion a échouée";
	}
} else {
	echo  "Impossible de se connecter au serveur LDAP";
}
?>
Voici ce qui s'affiche dans mon navigateur

Code :
1
2
3
4
5
Connexion...
Connexion LDAP réussie
Erreur dans la recherche
0 en tant que false
La déconnexion a réussie
Voila. J'ai donc un problème dans ma recherche et je ne vois pas du tout d’où cela peut venir.

Si quelqu'un à une idée, je suis preneur.
batix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2011, 14h05   #2
Invité de passage
 
Homme
Étudiant
Inscription : mars 2011
Messages : 1
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Côte d'Ivoire

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2011
Messages : 1
Points : 1
Points : 1
Par défaut Recherche dans un annuaire ldap

Bonjour!
je suis confronté à un problème. Je peux me connecter à un annuaire LDAP, mais je n'arrive pas à faire des recherches dans l'annuaire.Voici certaines infos tirées de exchange,outlook

Citation:
X400:c=FR;a= ;p=NOM du pays;o=Exchange;s=Mon nom;g=mon prenom;
X500:/o=NOM du pays/ou=service de l'entreprise/cn=Recipients/cn=mon Login
et il y a plein d'autres lignes comme ça
Voici mon code:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php

$idLdap = ldap_connect("IP adresse",389);
if (!ldap_bind($idLdap)){
die("La connexion n'a pas été effectuée.");
}

echo "<br />Recherche avec ldap_list()<br />";
$dn = "ou=service de l'entreprise, o=NOM du pays";
$restriction = array("cn");

$recherche = ldap_list($idLdap, $dn , "cn=*",$restriction);//ligne 34
$resultat = ldap_get_entries($idLdap,$recherche);//ligne 38
?>
voici les message d'erreur:
Citation:
Warning: ldap_list() [function.ldap-list]: Search: Operations error ... on line 34

Warning: ldap_get_entries() expects parameter 2 to be resource, boolean given in ... on line 38
Je ne sais pas où j'ai fait l'erreur mais ça marche pas.
Merci de m'aider à résoudre mon problème,c'est [COLOR="red"]
charlyconso est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2011, 17h37   #3
Membre chevronné
 
Homme
Développeur Web
Inscription : mars 2011
Messages : 399
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web
Secteur : Finance

Informations forums :
Inscription : mars 2011
Messages : 399
Points : 662
Points : 662
Pour la ligne 34, êtes-vous sur windows server 2003 ?

car d'après les commentaires du manuel (sur cette page)

Citation:
In order to perform the searches on Windows 2003 Server Active Directory you have to set the LDAP_OPT_REFERRALS option to 0:

ldap_set_option($ldap, LDAP_OPT_REFERRALS, 0);

Without this, you will get "Operations error" if you try to search the whole AD schema (using root of the domain as a $base_dn).
Drupal avait le même problème et l'a réglé avec des ldap_set_option

Quant à la 2ème erreur, elle resulte de la 1ère :
http://fr.php.net/manual/fr/function.ldap-list.php
ldap-list renvoie une ressource SAUF s'il y a une erreur, elle renvoie un booleen "false".

ldap_get_entries() ne devrait en AUCUNE manière pouvoir être lancé si ldap-list a provoqué une erreur auparavant, il va falloir mettre un système de validation

De la même manière Batix, l'erreur arrive dans le ldap-search qui a besoin d'autres "options" selon les serveurs.
__________________
Membre de StackOverflow, je suis un fervant utilisateur de PHP et de jQuery.
Après des études de graphisme, j'ai décidé de mélanger développement web et web design. J'ai ainsi donc créé mon site web mais aussi plusieurs projets personnels.
Dans les plus aboutis, vous pourrez trouver dans mon labo et dans mon devblog, un raccourcisseur d'url, un bookmarklet pour envoyer l'url de la page actuelle vers votre email pour lire plus tard ou sauvegarder, mon générateur de template HTML5, etc...
Shikiryu est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h32.


 
 
 
 
Partenaires

Hébergement Web