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
| <?php /* Date de création: 05/06/2012 */ ?>
<html>
<body>
<?php
$login = htmlentities($_POST["login"]); //Récupération de la variable login
$pass = htmlentities($_POST["pass"]); //Récupération de la variable pass
$dom = htmlentities($_POST["domaine"]); //Récupération du choix du domaine de connexion
$ldap_port = 389;
$ip = "0.0.0.0";
switch ($dom) { /* SELECTION DE L'IP et ajout du domaine au login EN FONCTION DU DOMAINE DE CONNECTION */
case "adm.loc" : $ip ="192.x.x.x"; break;
case "ped.loc" : $ip ="192.x.x.y"; break;
default: $ip ="192.x.x.y";
}
echo "DEBUG = ip server ".$dom.": ".$ip."<BR>";
$ds = ldap_connect("$ip",$ldap_port); // On initialise la connexion au domaine (doit être un serveur LDAP valide !)
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3); //Option à ajoutée si vous utiliser Windows server2k3
ldap_set_option($ds, LDAP_OPT_REFERRALS, 0); //Option à ajoutée si vous utilisez Windows server2k3
$r = ldap_bind($ds,"$login","$pass") or die("Connexion impossible"); // connexion avec user et password
//$r = ldap_bind($ds) or die("Connexion impossible"); // connexion anonyme read only
echo "Le résultat de connexion est $ds ";
if ($r == true) {
echo "Reussite";
$filter="(|(sn=$login*)(cn=$login*))";
switch ($dom)
{ /* FAIRE LA RECHERCHE SUR LA BONNE RACINE EN FONCTION DU DOMAINE DE CONNECTION */
case "adm.loc" : $sr=ldap_search($ds, "dc=adm,dc=loc", $filter); break;
case "ped.loc" : $sr=ldap_search($ds, "dc=ped,dc=loc", $filter); break;
default: case "ped.loc" : $sr=ldap_search($ds, "dc=ped,dc=loc", $filter);
}
echo $filter ;
echo $sr;
if (! $sr==false )
{
$info = ldap_get_entries($ds, $sr);
echo 'Données pour ' . $info["count"] . ' entrées<BR>'; // Retourne le nombre d entrées, ici une seule grace au login unique
echo 'DN : ' . $info[0]["dn"] . '<BR>'; // Retourne le DN de l utilisateur
echo 'CN : ' .$info[0]["cn"][0]. '<BR>'; // Retourne le CN de l utilisateur
echo 'Samaccountname : '.$info[0]["samaccountname"][0].'<BR>';
echo 'displayname : '.$info[0]["displayname"][0].'<BR>';;
echo 'Userprincipalname : '.$info[0]["userprincipalname"][0].'<BR>';
echo 'givenname : '.$info[0]["givenname"][0].'<BR>';
}
ldap_unbind($ds) or die("Erreur lors de la deconnexion au serveur : $dom");;
//ldap_close($ds);
}else { echo "Echec <br>"; } // On affiche le résultat de la connexion LDAP
?>
</body>
</html> |
Partager