SommaireTelecharger la documentationChapitre suivantChapitre precedent  

  .: News :.: Edito :.: Scripts :.: Forum :.: Erreurs :.: Jobs :. 
 
Sommaire

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

6.47.2 Exemple complet

Recupérer toutes les entrées dont le nom commence par "S" dans un serveur, et afficher le nom et l'adresse email.

Recherche LDAP

<?php
// Structure d'une commande simple :
// connexion, lien, recherche, interpretation de la recherche
// résultat, déconnexion
  
echo "<?h3>LDAP query test<?/h3>";
  echo 
"Connexion ...";
  
$ds=ldap_connect("localhost");  // Doit être un serveur LDAP valide!
  
echo "Résultat de la connexion : ".$ds."<?p>";
  if (
$ds) {
    echo 
"Lien ...";
    
$r=ldap_bind($ds);     // Ceci est un lien "anonymous", typiquement
                           // en lecture seule. En cas d'accès, affiche
                           // " Lien résultat est"
    
echo "Lien résultat est ".$r."<?p>";
    echo 
"Recherche de (sn=S*) ...";
    
// Recherche dans les noms
    
$sr=ldap_search($ds,"o=Ma Société, c=Fr""sn=S*");
    echo 
"Résultat : ".$sr."<?p>";
    echo 
"Nombre d'entrée retournée : ".ldap_count_entries($ds,$sr)."<?p>";
    echo 
"Lecture des entrées...<?p>";
    
$info ldap_get_entries($ds$sr);
    echo 
"Data for ".$info["count"]." items returned:<?p>";
    for (
$i=0$i<?$info["count"]; $i++) {
        echo 
"dn vaut : "$info[$i]["dn"] ."<?br>";
        echo 
"première entrée cn vaut : "$info[$i]["cn"][0] ."<?br>";
        echo 
"premièr email vaut: "$info[$i]["mail"][0] ."<?p>";
    }
    echo 
"Déconnexion ";
    
ldap_close($ds);
  } else {
    echo 
"<?h4>Impossible de se connecter à un serveur LDAP <?/h4>";
  }
?>

6.47.2.1 Utilisation des fonctions PHP LDAP

Il faut d'abord que les bibliothèques client LDAP soient compilées avec PHP. Vous pouvez vous procurer ces bibliothèques University of Michigan (ldap-3.3 package) ou chez Netscape (Netscape Directory SDK).

Avant d'utiliser les fonctions LDAP il faut savoir :

  • Le nom ou l'adresse du serveur à utiliser

  • Le "nd" dans le serveur (la partie du monde qui est sur ce serveur, ce qui peut correspondre à "o=Ma société,c=Fr")

  • Eventuellement, un mot de passe pour accéder au serveur (de nombreux serveusr fournissent un accès anonyme ("anonymous bind") mais requièrent un mot de passe pour tous les autres).

Une séquence habituelle LDAP suivra le schéma suivant :

ldap_connect() // établit une connexion à un serveur
|
ldap_bind() // nom de compte "login" ou anonyme
|
éxécution de commandes sur le serveur, comme un listage, ou
une modification de données avec affichage
|
ldap_close() // "déconnexion"

6.47.2.2 Plus d'informations

Vous pouvez en apprendre encore plus, mais en anglais, aux adresses suivantes :

Le SDK Netscape contient un guide du programmeur au format HTML particulièrement pratique (en anglais).


Chapitre précédentChapitre suivantAccueil nexen.net