1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
| $ldapconn = ldap_connect($server)
or die("Impossible de se connecter au serveur LDAP.");
if($ldapconn)
{
if(ldap_bind($ldapconn,$logon,$mdp))
{
$base = "OU= Users, DC=******, DC=*****";
$filtre = "objectCategory=user";
$table= array("mail","samaccountname","displayname","sn", "givenname");
$reqldap = ldap_search($ldapconn,$base,$filtre,$table);
//ordonner la rechercher en triant par la colonne "displayname" ( Nom complet)
ldap_sort($ldapconn,$reqldap,"displayname");
//récupération du nombre de résultat de la requete LDAP_search
$nbreqldap = ldap_count_entries($ldapconn,$reqldap);
//récupération du résultat de la requete LDAP_search sur les utilisateurs sous forme de tableau
$result=ldap_get_entries($ldapconn,$reqldap);
// recherche des membres du groupe de sécurité toto
$basegp = "OU=GROUPES SECURITES, DC=******, DC=*****";
$groupes = ldap_search($ldapconn, $basegp,"(&(objectclass=group)(name=Toto))");
$nbgroupes = ldap_count_entries($ldapconn,$groupes);
$resultgp = ldap_get_entries($ldapconn,$groupes);
$nbmemnber = $resultgp[0]["member"]["count"];
//affichage du contenu du tableau avec filtre
while($nbreqldap != $i)
{
$j=0;
$vartest = $result[$i]["givenname"][0]." ".$result[$i]["sn"][0];
//echo $vartest."<br>";
while($nbmemnber != $j)
{
$toto =$resultgp[0]["member"][$j];
if(strpos($toto,$vartest)!=false)
{
echo " <option value=". $result[$i]["samaccountname"][0].">".$result[$i]["displayname"][0]."</option>";
break;
}
$j++;
}
$i++;
}
}
else echo "erreur d'authentification";
ldap_unbind($ldapconn);
}
else echo "non connecté à LDAP"; |
Partager