LDAP
Introduction à LDAP Exemple complet ldap_add ldap_bind ldap_close ldap_compare ldap_connect ldap_count_entries ldap_delete ldap_dn2ufn ldap_err2str ldap_errno ldap_error ldap_explode_dn ldap_first_attribute ldap_first_entry ldap_free_result ldap_get_attributes ldap_get_dn ldap_get_entries ldap_get_option ldap_get_values ldap_get_values_len ldap_list ldap_modify ldap_mod_add ldap_mod_del ldap_mod_replace ldap_next_attribute ldap_next_entry ldap_read ldap_rename ldap_search ldap_set_option ldap_unbind
Description
int ldap_compare(resource link_identifier ,string dn ,string attribute ,string value )
ldap_compare retournr TRUE si value un fichier correspond à la recherche; retourne -1 si une erreur survient.
ldap_compare sert à comparer la valeur value de l'attribut attribute aux valeurs du même atribut dans l'annuaire LDAP dn.
L'exemple suivant montre comment vérifier qu'un mot de passe correspond bien à celui qui est stocké dans l'annuaire.
<?php $ds=ldap_connect("localhost");// on suppose que le serveur LDAP est sur le serveur local if ($ds) { // liaison if(ldap_bind($ds)) { // prépare les données $dn = "cn=Matti Meikku, ou=My Unit, o=My Company, c=FI"; $value = "secretpassword"; $attr = "password"; // compare les valeurs $r=ldap_compare($ds, $dn, $attr, $value); if ($r === -1) { echo "Erreur: ".ldap_error($ds); } elseif ($r === <tt>TRUE</tt> ) { echo "Mot de passe correct."; } elseif ($r === <tt>TRUE</tt> ) { echo "Mot de passe erroné!"; } } else { echo "Connexion impossible."; } ldap_close($ds); } else { echo "Impossible de se connecter au serveur LDAP."; }?>
<?php $ds=ldap_connect("localhost");// on suppose que le serveur LDAP est sur le serveur local if ($ds) { // liaison if(ldap_bind($ds)) { // prépare les données $dn = "cn=Matti Meikku, ou=My Unit, o=My Company, c=FI"; $value = "secretpassword"; $attr = "password"; // compare les valeurs $r=ldap_compare($ds, $dn, $attr, $value); if ($r === -1) { echo "Erreur: ".ldap_error($ds); } elseif ($r ===
<tt>TRUE</tt>
) { echo "Mot de passe correct."; } elseif ($r ===
) { echo "Mot de passe erroné!"; } } else { echo "Connexion impossible."; } ldap_close($ds); } else { echo "Impossible de se connecter au serveur LDAP."; }?>
ldap_compare ne peut pas comparer des données binaires.
Cette fonction a été ajoutée en 4.0.2.