KioskeaKioskeaCommentCaMarcheInscrivez-vous, c'est gratuit !
Samedi 17 mai 2008 - 08:48:30

Php + ldap sur active directory

Rechercher : dans
php + ldap sur active directory
par neo.t
 Fil de Discussions
Statut : Non résolu
jeudi 1 septembre 2005 à 13:26:55
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
Répondre à neo.t  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par StreM, le jeudi 1 septembre 2005 à 14:25:30 Fil de Discussions
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-Directory-and-LDAP-Referrals

Moins le blanc est intelligent, plus le noir lui parait bête
Répondre à StreM

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par neo.t, le jeudi 1 septembre 2005 à 14:38:19 Fil de Discussions
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


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par StreM, le jeudi 1 septembre 2005 à 15:00:57 Fil de Discussions
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


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par neo.t, le jeudi 1 septembre 2005 à 15:10:50 Fil de Discussions
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


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par StreM, le jeudi 1 septembre 2005 à 15:22:37 Fil de Discussions
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


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par neo.t, le jeudi 1 septembre 2005 à 17:08:58 Fil de Discussions
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


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par jep077, le jeudi 18 mai 2006 à 15:12:33 Fil de Discussions
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


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par neo.t, le vendredi 2 septembre 2005 à 17:10:58 Fil de Discussions
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


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par huvo, le mardi 1 août 2006 à 17:01:25 Fil de Discussions
Répondre à huvo

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par petrus, le mardi 1 mai 2007 à 20:18:59 Fil de Discussions
sur mon serveur IIs et LDAP sous unix,le bind est inutile , essaye
Répondre à petrus

11


  • 2
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
Par pinot, le lundi 7 mai 2007 à 14:04:35 Fil de Discussions
As-tu regardé ce site :

http://www.sunyday.net/article-authentification-PHP-active-directory.html

Ca marche pour moi!
Pin[o]t
Répondre à pinot

12


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par gus, le vendredi 8 juin 2007 à 15:22:03 Fil de Discussions 
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
Discussions pertinentes trouvées dans le forum
11/01 15h12Pblm Connexion Java - LDAP (active directory)Programmation08/02 14h353
04/02 10h22[LDAP]Active Directory vs OpenLDAPProgrammation04/02 10h220
24/08 12h28sso [open ldap active directory]Linux/Unix30/08 14h536
30/06 13h13[LDAP Active Directory] recuperer des entreesLogiciels/Pilotes23/08 14h131
Plus de discussions sur « php + ldap sur active directory » Discussion en cours Discussion fermée Problème résolu
Répondre
Titre du message :
Votre pseudo:
Votre email :
Message: 
  •  
  •  
Options: Recevoir les réponses par mail.
 

Aide