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
|
<?php
class LDAPConnect{
private $username;
private $password;
private $ldap_server = "ldap://nomDuServeur.Domaine.com";
private $domaine = 'Domaine.com';
private $base_dn = "CN=Users, DC=domaine, DC=com";
private $filter;
private $connect;
public $msg;
public $is_connect = false;
/**
*/
function __construct(Message $m,$u, $p){
$this->msg = $m;
$this->username = $u;
$this->password = $p;
}
/**
*/
private function connectToServer(){
if (!($this->connect=@ldap_connect($this->ldap_server))) {
$this->msg->__set('type','error');
$this->msg->__set('msg','Impossible de se connecter au serveur LDAP');
}
}
/**
*/
public function bindToServer(){
self::connectToServer();
if (!($bind=@ldap_bind($this->connect, $this->username.'@'.$this->domaine, $this->password))) {
$this->msg->__set('type','error');
$this->msg->__set('msg','Nom d\'utilisateur et/ou mot de passe incorrect');
}else
$this->is_connect = true;
}
/**
*/
public function getSamaccountname(){
if ($this->is_connect){
$this->filter = '(&(objectClass=user)(objectCategory=person)(samaccountname='.$this->username.'*))';
if (!($search=@ldap_search($this->connect, $this->base_dn, $this->filter))) {
die("Recherche impossible sur le serveur LDAP");
}
$entries = ldap_get_entries($this->connect, $search);
return $entries[0]["samaccountname"][0];
}
}
}
$Oldap = new LDAPConnect($m,$_POST['username'],$_POST['password']);
$Oldap->bindToServer();
if ($Oldap->is_connect){
//Connexion réussie
}
?> |
Partager