Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Mots clés Nom d'utilisateur
Messages sans réponse

Php + ldap sur active directory

neo.t, le jeudi 1 septembre 2005 à 13:26:55 
 Signaler ce message aux modérateurs

Bonjour,

je suis entrain de créer un Intranet avec une identification de l'utilisateur via l'Active Directory mais j'ai un problème lors de la connection ... si quelqu'un pouvait m'aider ;)

<?php 
$server = "localhost";
$rootdn = "cn=Administrateur, o=eabjm, c com"; 
$rootpw = "passwd"; 
$ds=ldap_connect($server);  
if ($ds) {
    $r=ldap_bind($ds,$rootdn,$rootpw);
    // données à comparer
    $dn="cn=Pillou Jean-Francois, o=eabjm,c=com";
    $valeur="MonMot2Passe";
    $attribut="password";
    // Comparaison 
    $resultat=ldap_compare($ds, $dn, $attribut, $valeur);
    if ($resultat == -1) {
		echo "Erreur:".ldap_error($ds);
	}elseif ($resultat == TRUE) {
		echo "Le mot de passe est correct";
	}else{
 		echo "Le mot de passe est erronné...";
 	}
    ldap_close($ds);
} else {
    echo "Connexion au serveur LDAP impossible"; 
}
?>

et voila le message d'erreur :

Warning: LDAP: Unable to bind to server: Invalid credentials in d:\www\eleves\index.php on line 17

Warning: LDAP: Compare operation could not be completed: No such attribute in d:\www\eleves\index.php on line 23
Erreur:No such attribute 

j'ai tourner dans tous les sens le prob je cherche sur internet mais je trouve rien ...

Merci d'avance pour votre aide ;)
Configuration: Windows serveur 2000
Active Directory
Serveur Apache

1

StreM, le jeudi 1 septembre 2005 à 14:25:30

Heuuu... Les lignes correspondent ?
La ligne 17, c'est laquelle ?
Enfin moi ca m'interesse ton script.
Je viens justement de faire des recherches la dessus :
http://forums.devshed.com/archive/t-168470/PHP-Active-Direct­ory-and-LDAP-Referrals

Moins le blanc est intelligent, plus le noir lui parait bête

Répondre à StreM

2

neo.t, le jeudi 1 septembre 2005 à 14:38:19

Merci ;)

la ligne 17 c'est :

$r=ldap_bind($ds,$rootdn,$rootpw);


alors je me dit que j'ai un problème d'identification ... mais je comprend pas pourquoi ... je viens d'essayer de me connecter avec un soft sur l'active directory et ca ne fonctionne pas non plus ...

il manque un egal sur la ligne (mais c uniquement sur le forum) :
$rootdn = "cn=Administrateur, o=eabjm, c com"; 


sinon le script je les recuperer ici : http://www.commentcamarche.net/php/phpldap.php3 ;)

merci ;)

Répondre à neo.t

3

StreM, le jeudi 1 septembre 2005 à 15:00:57

Invalid credentials, c'est un probleme de droits d'accès, ca je pense.
Essaie de mettre l'utilisateur IUSR_nomdetamachine dans le groupe administrateurs pour voir (a ne pas garder comme ca, c'est une enorme faille de sécurité, c'est vraiment juste pour voir)
Mais si avec ton soft tu n'arrives pas a te connecter et que tu es administrateur, là y'a un souci...

Moins le blanc est intelligent, plus le noir lui parait bête

Répondre à StreM

4

neo.t, le jeudi 1 septembre 2005 à 15:10:50

Avec le soft ca fonctionne ;) (ldap browser)

mais pas avec le php ... grrrr si je trouve je te fais signe et si tu as une idee n'hesite pas ;) merci

Répondre à neo.t

5

StreM, le jeudi 1 septembre 2005 à 15:22:37

http://php.morva.net/manual/en/function.ldap-bind.php
Ca pourra ptet t'aider si tu y'es pas deja passé...
Moins le blanc est intelligent, plus le noir lui parait bête

Répondre à StreM

6

neo.t, le jeudi 1 septembre 2005 à 17:08:58

Re ;)

bon j'arrive a me connecter a l'active directory ... ca c'est fait ;)

mais maintenant j'ai un probleme sur : ldap_compare()

voici mon code :

<? 
$ldaprdn  = 'ldap';   // user
$ldappass = 'mdp';  // password
// connect to ldap server
$ldapconn = ldap_connect("serveur.eabjm.com")
   or die("Could not connect to LDAP server.");
if ($ldapconn) {
   // binding to ldap server
   @$ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);
   // verify binding
   if ($ldapbind) {
       echo "Connexion LDAP ... OK<br>";
	   // preparation des données
	   $dn="cn=test, o=eabjm,c=com";
	   $valeur="test";
	   $attribut="password";
	   // Comparaison du mot de passe à celui dans l'annuaire
	   $resultat=ldap_compare($ldapconn, $dn, $attribut, $valeur);
	   if ($resultat == -1) {
	   	  echo "Erreur : ".ldap_error($ldapconn);
	   }else if ($resultat == TRUE){
	   	  echo "Le mot de passe est correct";
	   }else{
	   	  echo "Le mot de passe est erronné...";
	   }
       ldap_close($ldapconn);
   } else {
       echo "Connexion LDAP ... ECHEC";
   }
} 
?>


L'erreur affichée est la suivante :
Warning: LDAP: Compare operation could not be completed: No such attribute in d:\www\eleves\index.php on line 30

La ligne 30 est la suivante :
$resultat=ldap_compare($ldapconn, $dn, $attribut, $valeur);


Merci d'avance pour l'aide ;)
si quelqu'un a une idee n'hesiter pas ;)

Répondre à neo.t

8

jep077, le jeudi 18 mai 2006 à 15:12:33

Bonjour neo.t
si tu as un peu de temps à m'accorder :
peux-tu m'aiguiller sur l'installation du module ldap (moi je n'arrive même pas à me connecter!). J'ai coché l'extension php_ldap et copié les 2 fichiers .dll vers sytem32, mais impossible de télécharger les fameux modules de l'University of Michigan

Merci d'avance

Répondre à jep077

7

neo.t, le vendredi 2 septembre 2005 à 17:10:58

Re ;)

personne n'a d'idee ??? bon bas enfin si vous avez une idee meme si elle vous parrait pas super dite moi tjs ;)

merci

a+

Répondre à neo.t

9

huvo, le mardi 1 août 2006 à 17:01:25
Répondre à huvo

10

petrus, le mardi 1 mai 2007 à 20:18:59

Sur mon serveur IIs et LDAP sous unix,le bind est inutile , essaye

Répondre à petrus

11

pinot, le lundi 7 mai 2007 à 14:04:35
  • +1

As-tu regardé ce site :

http://www.sunyday.net/article-authentification-PHP-active-d­irectory.html

Ca marche pour moi!
Pin[o]t

Répondre à pinot

12

 gus, le vendredi 8 juin 2007 à 15:22:03

En fait il y a même une release sur ce site ( en anglais ?! ) : http://phpad.sunyday.net

ça porte bien son nom, PHP et AD ;o)

Good luck.

Répondre à gus
Pblm Connexion Java - LDAP (active directory) (Résolu) Bonjour, J'ai souhaite me connecter en Java à un annuaire LDAP (Active Directory).... Après avoir recuperé un bout de code et modifié.. package test; import java.util.Map; import javax.naming.*; import javax.naming.directory.*; import... www.commentcamarche.net/forum/affich-4613128-pblm-connexion-java-ldap-active-directory
Active Directory - Gestion de Groupe Bonjour tout le monde, Je suis en train de decouvrir LDAP Active Directory et j'aurais quelques questions : - si dans mon annuaire, je creais un groupe (ex: gr1), peut il faire parti d'un autre groupe (ex: grp2)... J'ai essayais mais mon souci est que... www.commentcamarche.net/forum/affich-4681416-active-directory-gestion-de-groupe
Se Connecter à Active Directory via PHP (Résolu) Bonjour à tout le monde !!! j'aimerais savoir s'il ya uune méthode pour récupérer les données d'active directory via php ???? merci d'avance !!! www.commentcamarche.net/forum/affich-1371209-se-connecter-a-active-directory-via-php
Utiliser l'active directory avec phpBonjour, je souhaiterais savoir s'il est possible d'utiliser les utilisateurs situés dans l'active directory de Windows 2000 Server afin de sécurisé un intranet en php. Pour éviter d'avoir plusieurs mot de passe et nom d'utilisateur pour une même... www.commentcamarche.net/forum/affich-761263-utiliser-l-active-directory-avec-php
[LDAP Active Directory] recuperer des entreesBonjour tlm Ma question est simple : j'aurais voulu savoir si il etait possible d'imprimer la liste des utilisateurs (avec leur coordonées) présents dans l'annuaire LDAP d'active directory depuis ce dernier. Le cas échéant , existe il un moyen... www.commentcamarche.net/forum/affich-2290612-ldap-active-directory-recuperer-des-entrees
[LDAP]recherche sur active directoryBonjour, J'ai crée une requête en PHP pour rechercher des contacts sur Active Directory. Je constate que dès que le nombre d'objets correspondant à mon filtre monte au-dessus d'une certaine valeur : environ 60. Je n'arrive plus à obtenir de résultats.... www.commentcamarche.net/forum/affich-1702466-ldap-recherche-sur-active-directory
Active DirectoryPrésentation de Active Directory Active Directory est le nom du service d'annuaire de Microsoft apparu dans le système d'exploitation Microsoft Windows Server 2000. Le service d'annuaire Active Directory est basé sur les standards TCP/IP : DNS,... www.commentcamarche.net/contents/activedirectory/active-directory-intro.php3
Principes d'Active DirectoryPrincipe de fonctionnement d'Active Directory Active Directory permet de représenter et de stocker les éléments constitutifs du réseau (les ressources informatiques mais également les utilisateurs) sous formes d'objets, c'est-à-dire un ensemble... www.commentcamarche.net/contents/activedirectory/active-directory-principes.php3
Active Directory et le DNSNotion d'espace de nom Active Directory constitue un espace de nom homogène, c'est-à-dire que toute ressource peut être identifiée de façon unique. DN RDN Plus d'informations Vue d'ensemble de Active Directory Architecture Active Directory www.commentcamarche.net/contents/activedirectory/adnom.php3