Php et Ldap

Fermé
Signaler
-
Bonjour,
J'ai un problème concernant les fonctions Ldap de Php.

Je suis actuellement en stage de fin d'étude dans lequel je dois me servir d'un annuaire Ldap de Zimbra pour pouvoir se connecter.
J'ai tout d'abord créé des utilisateurs dans zimbra, donc ceux ci sont présent sur l'annuaire ldap.
voici le code de la connexion

$base_dn = "ou=people,dc=my-domaine,dc=fr";

$user = "uid=zimbra,cn=".$_POST['login']."cn=zimbra";  //  on traite les information recoltees 
$password = $_POST['mdp']; 

$admin="admin";  
$membres="membres";
$server = "serveur.my-domaine.fr";			
$port = "389";
			
$connect =ldap_connect($server,$port) or exit(">>Connexion au serveur LDAP echoue<<");					 
					 
ldap_set_option($connect, LDAP_OPT_PROTOCOL_VERSION, 3);  // on passe le LDAP en version 3
ldap_set_option($connect, LDAP_OPT_REFERRALS, 0);

				 
$read = ldap_search($connect,$base_dn, $user)
				 or exit(">>erreur lors de la recherche<<");
$info = ldap_get_entries($connect, $read);

if ( preg_match("!".$admin."!",$info[0]["dn"] ) ) // si le user trouve est admin :
{
	$bind = ldap_bind($connect,$info[0]["dn"],$password);
	if ( !$bind )	// si le BIND est FALSE, le mot de passe est erronee
	{
		echo "erreur bind admin";
		include ('./Vue/ErreurConnexion.php');
		return NULL;
	}
	elseif ( $bind  ) 
	{
		return $info;
	}
} 
elseif ( preg_match("!".$membres."!",$info[0]["dn"]) ) // si le user trouve est membres :
{
	$bind = ldap_bind($connect,$info[0]["dn"],$password);
	if ( !$bind )  // si le BIND est FALSE, le mot de passe est erronee
	{
		echo "Erreur Bind people";
		include ('./Vue/ErreurConnexion.php');
		return NULL;
	}
        elseif ( $bind ) 
	{
		return $info;
	}
}
else // le user n'a pas pu etre trouve
{
	echo "l'utilisateur n'a pas &#233t&#233 trouv&#233";
	include ('./Vue/ErreurConnexion.php');
	return NULL;
}


Pour l'instant je ne différencie pas le traitement de l'utilisateur admin ou lambda.

Donc je me rempli le formulaire de connexion mais dans ce script au le ldap_search ne trouve pas l'utilisateur que ce soit un utilisateur lambda ou l'utilisateur admin.

Est ce qu'il faut une configuration spécifique sur le serveur ldap pour permettre de rechercher?

J'ai chercher longtemps mais je ne trouve pas pourquoi ça ne trouve pas.

Si vous avez des idées je suis preneur