Belajar PHP: Koneksi ke LDAP
LDAP (Lightweight Directory Access Protocol) adalah salah satu protokol direktori yang sampai saat ini masih bertahan dan populer digunakan di kelas menengah dan enterprise. Beberapa produk yang bisa anda pakai misalnya Microsoft Active Directory, Fedora Directory Access, Mandriva Directory Access, SUSE Linux Enterprise, OpenLDAP dan TurnkeyLinux LDAP.
Disini saya hanya akan membahas bagaimana cara koneksi ke protokol LDAP dari PHP. Beberapa hal yang harus anda perhatikan adalah:
1. pastikan extension php_ldap (php_ldap.dll untuk Windows dan php_ldap.so untuk Linux) sudah tersedia dan sudah di enable dalam file php.ini
2. pastikan anda punya server ldap yang aktif dan sudah terkonfigurasi dengan baik.
Berikut adalah contoh skrip koneksi ke LDAP dengan PHP:
[sourcecode language="php"]
$ldap['user'] = "cn=admin,dc=emka,dc=web,dc=id";
$ldap['pass'] = "abcdefghij";
$ldap['host'] = 'ldap.emka.web.id';
$ldap['port'] = 389;
$ldap['conn'] = ldap_connect( $ldap['host'], $ldap['port'] )
or die("Could not conenct to {$ldap['host']}" );
ldap_set_option($ldap['conn'], LDAP_OPT_PROTOCOL_VERSION, 3);
$ldap['bind'] = ldap_bind($ldap['conn'], $ldap['user'], $ldap['pass']);
if( !$ldap['bind'] )
{
echo ldap_error( $ldap['conn'] );
exit;
}
echo ($ldap['bind'])? "Valid Login" : "Login Failed";
ldap_close( $ldap['conn'] );
[/sourcecode]
Jalankan file tersebut via Browser atau command line. Harusnya anda mendapati tulisan Valid Login.
[sourcecode]
C:\xampp\php>php C:\xampp\htdocs\test.php
Valid Login
C:\xampp\php>
[/sourcecode]
Note.
Jika anda mendapati error: ldap_bind(): Unable to bind to server: Protocol Error anda harus mengkonfigurasi skrip anda untuk dapat menerima protokol yang dimaksud sesuai dengan versinya, biasanya protokol versi 3. Silakan tuliskan:
[sourcecode language="php"]
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
[/sourcecode]
Selamat mencoba, :)