Créé le : 3 octobre 2017
Catégorie: Non classé
Mise à jour : 3 octobre 2017
[PHP] recherches LDAP en PHP
Affichage des attributs LDAP d’une seule entrée
// votre serveur ldap $ds = ldap_connect( "server.domaine.fr" ) ; //Objet sur lequel extraire les attributs $dn = "CN=User NOM,OU=TUTU,O=Titi"; //sélection du type d'objet (ici tout) $filter="(objectclass=*)"; //Attributs a extraire, c'est + efficace de sélectionner uniquement les attributs utile //Dans cet exemple tous les attributs sont extraits //$justthese = array("ou", "sn", "givenname", "mail"); //$sr=ldap_read($ds, $dn, $filter, $justthese); $sr=ldap_read($ds, $dn, $filter); $entry = ldap_get_entries($ds, $sr); //Affichage des attributs echo "email = ".$entry[0]["mail"][0] . "<br> site = ".$entry[0]["l"][0].'<br> cn1 = '.$entry[0]["cn"][0].'<br> cn2 = '.$entry[0]["cn"][1].'<br>'; //fermeture de la connexion ldap_close($ds);
affichage selon critère de recherche (=liste)
Cet exemple fait une recherche dans l’annuaire LDAP sur tous les noms de famille commençant par B
Une boucle affiche ensuite les attributs demandés
//=====connection LDAP $ds = ldap_connect( "serveur.domaine.fr" ) ; // must be a valid LDAP server! //echo "connect result is " . $ds . "<br />"; if ($ds) { //=====authentification user (sinon anonymous) $r=ldap_bind($ds,"CN=Bruce WAYNE,OU=Gottham,O=USA","password"); // read-only access //echo "Bind result is " . $r . "<br />"; //=====recherche sur nom de famille seulement (on peut mettre "sn=*") $sr=ldap_search($ds, "o=LGCF", "sn=B*"); //=====affiche nb résultats echo "Nombre de résultats = " . ldap_count_entries($ds, $sr) . "<br />"; //===== nb resultat (autre) $info = ldap_get_entries($ds, $sr); echo "Données pour les " . $info["count"] . " entrées trouvées<p>"; //===== boucle affichage résultats for ($i=0; $i<$info["count"]; $i++) { echo "dn = " . $info[$i]["dn"] . "<br />"; echo "nom convivial = " . $info[$i]["cn"][0] . "<br />"; echo "Responsable = " . $info[$i]["manager"][0] . "<br />"; echo "Serveur = " . $info[$i]["mailserver"][0] . "<br />"; echo "titre = " . strtolower( $info[$i]["title"][0] ) . "<br />"; echo "email = " . $info[$i]["mail"][0] . "<br /><hr />"; } //===== fermeture connexion ldap_close($ds); } else { echo "<h4>Unable to connect to LDAP server</h4>"; }
Laissez un commentaire