2014-07-07 5 views
0

J'essaie d'implémenter du code à partir de ces pages, mais sans succès. je dois faire l'authentification ldap de php et ont ce code:Authentification LDAP en PHP

<?php 
$ldap['user'] = "tester"; 
$ldap['pass'] = "test"; 
$ldap['host'] = '147.32.99.8'; 
$ldap['port'] = 636; 
$ldap['conn'] = ldap_connect($ldap['host'], $ldap['port']) 
or die("Could not conenct to {$ldap['host']}"); 
$ldap['bind'] = ldap_bind($ldap['conn'], $ldap['user'], $ldap['pass']); 
if(!$ldap['bind']) 
{ 
echo ldap_error($ldap['conn']); 
exit; 
} 
echo "<p>"; 
echo ($ldap['bind'])? "Valid Login" : "Login Failed"; 
echo "</p><br />"; 
ldap_close($ldap['conn']); 
?> 

Mais cela ne fonctionne pas. Je suis presque sûr que dans le nom d'utilisateur est le domaine manquant. Mais où puis-je trouver un domaine? J'ai seulement l'adresse IP.

De Softera navigateur ldap Je suit des informations: URL: ldaps: //147.32.99.8: 636/cn = testeur, ou = personnel, ou = uceeb, o = CVUT

Peut-être il y a une autre erreur non seulement domaine manquant mais je suis vraiment débutant LDAP. Merci pour toute réponse qui m'aidera.

+0

Que voulez-vous dire par "ça ne marche pas"? Est-ce qu'il meurt lorsque vous essayez de vous connecter? Recevez-vous des messages d'erreur dans votre journal des erreurs? –

+0

Désolé j'ai oublié de l'écrire. Il renvoie un message d'erreur: Avertissement: ldap_bind(): Impossible de lier au serveur: Impossible de contacter le serveur LDAP dans C: \ Bitnami \ wampstack-5.4.28-0 \ apache2 \ htdocs \ ldap \ index.php à la ligne 8 Impossible de contacter le serveur LDAP – Atreiu

+0

Si vous ne recevez pas d'erreur de connexion (ligne 5 de votre code), vous vous connectez au serveur. Jetez un oeil à cela pour plus d'informations: http://stackoverflow.com/questions/1049653/ldap-and-php –

Répondre

0

Ce code fonctionne parfois:

function authUserAD($username, $password, $ldap_server="147.32.99.8") { 
    $auth_user = $username; 
    if($connect = ldap_connect($ldap_server)){ 
    ldap_set_option($connect, LDAP_OPT_PROTOCOL_VERSION, 3); 
    ldap_set_option($connect, LDAP_OPT_REFERRALS, 0); 
    if(ldap_bind($connect, $auth_user, $password)) { 
     ldap_close($connect); 
     return(true); 
    } 
    } 
    ldap_close($connect); 
    return(false); 
} 
if(authUserAD("cn=tester,ou=staff,ou=uceeb,o=cvut", "test")) echo "<p>Login/password OK.</p>"; 
else echo "<p>Connection error.</p>"; 

Mais dans l'administration LDAP je dois changer la valeur de TLS pour exiger des liens simples avec un mot de passe à NO et après revenir à nouveau OUI. Après ces deux opérations cela fonctionne. Mais comment le faire sans cette opération étrange.