Code ni aku buat tu web app aku..since akan digunapakai oleh semua programmer dan SA nanti, aku share class ni..nanti leh terus code apps dan extend library. Btw engine aku pakai spesifikasi ni :-

1. OS - FreeBSD 7

2. Web Interpreter - PHP5(Since aku guna method OO, only this version almost support)

3. Web Server - Apache 1.3

4. Module connection : ldap (ni untuk cnnect dgn AD)

Sebarang masalah integrasi, aku boleh tolong tanpa sbrg sen . Sebarang komen kelemahan code aku dialu-alukan, penambahbaikan amat digalakkan.

Berikut class dan interface untuk connection ke AD.


-->intAd.class.php


interface intAD {


public function connect();


public function bind($link,$userdn,$password);


public function count_entries($search);


public function getEntry($link,$result);


public function close($link);


}

?>



-->ActiveDirectory.class.php


require("intAD.class.php");



class ActiveDirectory implements intAD {


private $link;


private $bind;


private $count;


private $entries;


private $search;



public $BASEDN = 'dc=usm,dc=my';


public $SERVER = 'IP';



public function connect() {


$this->link = @ldap_connect($this->SERVER,3268);


$set = ldap_set_option($this->link, LDAP_OPT_PROTOCOL_VERSION, 3);


ldap_set_option($this->link, LDAP_OPT_REFERRALS, 0);


return $this->link;


}


public function bind($link,$userdn,$password) {


$this->bind = @ldap_bind($link,$userdn,$password);


return $this->bind;


}


public function count_entries($search) {


$this->count = ldap_count_entries($search);


}


public function getEntry($link,$result) {


//echo $this->link;


$this->entries = ldap_get_entries($link, $result);


//print_r($this->entries);


return $this->entries;


}


public function close($link) {


ldap_close($link);


}


public function search($link,$attribute,$keyword) {


$filter = '(' . $attribute . '=*' . $keyword . '*)';


$field = array("userprincipalname", "displayname","distinguishedname");


$this->search = @ldap_search($link,$this->BASEDN,$filter,$field);


return $this->search;


}


public function getJabatan($distN) {


$dn = explode(",",$distN);


$jab = explode("=",$dn[2]);


//print_r($jab);


return $jab[1];


}


}




?>





Posted by Jai

0 comments: