Bermain LDAP dengan PHP

Aseekkkk nambah lagi ilmunya, kali ini kita bermain-main dengan LDAP yuk. LDAP apaan sih ??
LDAP (Lightweight Directory Access Protocol) merupakan suatu network protokol yang digunakan untuk mengakses direktori.

Pengertian direktori disini adalah sekumpulan informasi yang disusun berdasarkan hirarki tertentu. Sebuah direktori merupakan sebuah database, yang pengelolaan informasinya di dasarkan pada atribut setiap item datanya, atribut-atribut tersebut diantaranya :
uid -> User id
cn -> Common Name
sn -> Surname
l -> Location
ou -> Organisational Unit
o -> Organisation
dc -> Domain Component
st -> State
c -> Country

Ok cukup sekilas tentang LDAP, kita lanjut ke pokok permasalah. Buat ente yang blum pernah berhubungan dengan LDAP sebelumnya, jangan merindik duluan.... koneksi LDAP dengan PHP ternyata tidak sesulit yang dibayangkan, simple dan mudah dimengerti. Siap-siap.... berikut langkah-langkahnya.

1. Buka phpinfo() dulu, pastikan LDAP sudah dalam posisi Enable, klo blum, buka file php.ini, perhatikan pada bagian ini ";extension=php_ldap.dll", hilangkan titik koma (;) di depannya.

2. Perhatikan skrip berikut :

<?php
$ldap_host = '123.456.7.89'; //Host LDAP
$ldap_domain = 'mazhters.com'; // LDAP Domain
$ldap_dn = 'dc=mazhters,dc=com'; // Domain Component
// Jika $ldap_domain = 'mazhters.co.id'; 
// maka $ldap_dn = 'dc=mazhters,dc=co,dc=id';
$ldap_user = 'userlogin';
$ldap_pass = 'userpass';

$ldap_conn = ldap_connect($ldap_host);
if($ldap_conn) 
{
// menyatukan aplikasi dengan server LDAP
$ldapbind = ldap_bind($ldap_conn, $ldap_user, $ldap_pass);
// verify binding
if (!$ldapbind){
die('Login gagal, userlogin or userpass salah');
}
}
else
{
die('Koneksi ke LDAP Gagal');
}

//Ada beberapa server yang mesti minta set_option ini dulu
ldap_set_option($ldap_conn, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ldap_conn, LDAP_OPT_REFERRALS, 0);

//Mencari nilai-nilai dari atribut LDAP sesuai filter yang di inginkan.
//Sample yg ane pake ini untuk mencari nilai-nilai atribut berdasarkan userlogin
$result = ldap_search($ldap_conn, $ldap_dn, "(samaccountname=".$ldap_user.")");

//Nah ini untuk narik nilai atributnya.
$entries = ldap_get_entries($ldap_conn, $result);

//Ini untuk munculin, tinggal dipilih-dipilih value mana yang mau diambil
echo "<pre>";
print_r($entries);
echo "</pre>";
die();
?>

Mudahkan ?? nah dari sini tinggal di explore lagi sesuai kebutuhan.