• Tidak ada hasil yang ditemukan

2.3.3.2 Client LDAP Operation

2.3.3.2.1 Directory Enable Services and Aplication

M enurut Arkills (2003), banyak keuntungan aplikasi datang dari kemampuan aplikasi tersebut untuk berhubungan dengan direktori untuk mendapatkan informasi. Sebuah aplikasi atau servis yang dapat menjadi client LDAP disebut dengan directory-enabled.

Diantara aplikasi directory-enabled yang paling umum adalah servis email. Ketika sebuah server email menerima email. Server dapat melakukan query pada direktori apakah alamat email penerima berada pada site lokal dan apakah mail server tempat mailbox penerima aktif. M emusatkan informasi ini pada direktori mempermudah administrasi dari server email dengan menghilangkan kebutuhan untuk menyelaraskan copy dari informasi ini pada setiap email server.

Hal yang serupa, email client dapat menjadi directory-enabled, dan menyediakan servis yang berharga dengan mencari alamat email yang dituju yang memberikan nama seseorang. Beberapa email client mengijinkan user untuk melihat direktori lewat sebuah tampilan di dalam aplikasi email dan membawa lebih dari satu penerima untuk sebuah email.

Servis directory-enabled mempunyai beberapa batasan. Sebagai contoh, penggunaan direktori LDAP (Arkills, 2003).

• Sebagai penyimpan sertifikat wewenang berhubungan dengan teknologi sertifikat public-private. Ini mengijinkan untuk menyediakan sebuah servis untuk menguji kevalidan dari sertifikat yang ada.

• Untuk menggolongkan lokasi dari HTML dan tipe lain dari dokumen elektronik. Kemudian dapat melakukan query dan mengembalikan rincian dokumen yang pantas, hanya akan seperti katalog perpustakaan yang akan melakukan.

Implementasi LDAP Microsoft Active Directory adalah contoh yang baik dari bagaimana keragaman dari servis directory-enabled dapat disatukan. Dengan menggunakan Microsoft Active Directory, software dapat disebarkan pada komputer, user, dan pengaturan komputer dapat diatur, printer dapat dipromosikan sebagai client, dll. Jelasnya ada keuntungan yang berpengaruh dengan memusatkan informasi dalam sebuah direktori, khususnya informasi yang menolong dalam mengatur resource. Mycompany mudahnya memerlukan kreatifitas dan penyatuan servis yang mengambil keuntungan dari direktori untuk merealisasikan kemampuannya.

2.3.3.2.2. Search

M enurut Arkills (2003), semua operasi LDAP terdiri dari client yang mengirimkan operasi request sepanjang dengan parameter ke server. Server kemudian menjalankan operasi dan mengirimkan sebuah kode hasil kembali ke client. Kode yang dikembalikan ini menandakan sukses atau gagalnya sebuah operasi. Ketika sebuah operasi adalah operasi search, server mengirimkan semua entry yang cocok dengan parameter yang lalu mengirimkan kode hasilnya. Tidak ada yang namanya operasi read, sehingga jika direktori user ingin membaca sebuah direktori yang khusus, maka harus dijalankan operasi search yang memerinci entry.

Operasi search mempunyai banyak parameter yang mengubah bagaimana server menjalankan operasi. Ini merupakan parameter wajib yang dibutuhkan atau operasi

search akan gagal, dan ada beberapa parameter tambahan yang memiliki nilai default jika tidak diatur. Parameter search hanya mempengaruhi sebuah operasi search untuk yang telah diatur. Untuk mengubah semua operasi LDAP untuk sebuah session, harus menggunakan LDAP option, jika ada salah satu yang sesuai.

Ada beberapa parameter search yang wajib, diantaranya adalah (Arkills, 2003): • Base DN untuk memulai search – sebuah ide bagaimana direktori dibentuk

sangat membantu disini. Dengan kata lain, jika ingin mencari person entry, apakah semuanya dalam container yang umum? Base DN terkadang juga disebut baseObject. Jika tidak tahu dari mana harus mulai, maka mulailah dari direktori root. Dalam direktori mycompany, ini akan seperti dc=mycompany,dc=com. Jadi pada saat yang paling minimum, harus mengetahui naming context dari direktori.

• Scope dari search – ada tiga pilihan untuk scope. Scope base berarti hanya mencari satu entry tunggal pada base DN. Scope one berarti mencari semua entry pada level yang sama pada urutan tingkatan dalam container dari base DN. Scope subtree berarti mencari base DN dan semua entry di bawah base DN, bagaimanapun juga tergantung dari level di dalam urutan tingkatan.

• Search filter – search filter disusun dari sebuah tipe atribut, sebuah comparison operator, dan sebuah nilai atribut. Ketiga komponen ini dikelilingi dengan tanda kurung dan bentuk sebuah objek search filter. Sintaks yang sederhana dari objek search filter adalah "("attributetype operator attributevalue")" dengan tidak ada spasi diantara semua elemen yang wajib. Tanda kutip yang mengelilingi merupakan hal yang mutlak dalam sintaks. Sebagai contoh, (objectclass=person) akan menjadi objek search filter yang valid. Satu atau lebih objek search filter

dapat digabungkan dengan operator filter untuk membentuk search filter, jadi contoh ini merupakan sebuah search filter yang valid.

Untuk mengilustrasikan penggunaan sebuah search filter, jika ingin menemukan sebuah entry yang digambarkan pada gambar 2.12 maka parameter search yang digunakan adalah :

Gambar 2.12 Mycompany dengan entry person

Objek filter dapat digabungkan dalam parameter search filter dengan menggunakan filter operator. Filter operator dapat mengubah sebuah objek filter yang telah dirincikan dalam parameter search filter, dan dapat digunakan untuk menggabungkan banyak filter untuk menandakan keruwetan dari pengaturan banyak entry.

• & AND

• | OR

• ! NOT

Operator ini harus mendahului filter yang diubah. Langkahnya hampir sama dengan bagaimana fungsi dalam bahasa LISP atau operasi dalam mengembalikan polish kalkulator yang diwakilkan. Filter yang berikutnya mengilustrasikan penggunaan dari filter operator dengan direktori ditunjukkan pada gambar 2.13 semua contoh mengira menyediakan sebuah base DN pada root dari direktori, sepanjang dengan scope subtree.

Gambar 2.13 Contoh mycompany untuk pencarian filter operator

• Informasi atribut apa yang dikembalikan – jika tidak merincikan apa yang diinginkan, semua atribut dari entry yang ditemukan oleh server akan dikembalikan. Perincian tipe atribut dapat dipisahkan dengan tanda koma. Operational attribute, dimana atribut yang digunakan direktori untuk kepentingannya sendiri, tidak pernah dikembalikan kecuali dirincikan secara explisit.

• derefAliases – menunjukkan bagaimana cara bertransaksi dengan alias entry. Alias entry adalah sebuah dummy entry yang merujuk atau mengarah pada entry yang lain. M enghormati sebuah alias adalah dengan mudah mengajarkan server untuk pergi pada objek yang dirujuk oleh alias, dan untuk tujuan dari operasi search, memperlakukan objek yang dirujuk sebagai alias object.

- neverDerefAliases - jangan melihat pada alias yang dirujuk.

- derefInSearching - melihat semua alias yang dirujuk kecuali pada baseObject.

- derefFindingBaseObj - melihat pada alias yang dirujuk tetapi hanya pada baseObject.

- derefAlways – melihat pada semua alias yang dirujuk.

• sizeLimit – batas angka dari entry yang dikembalikan pada operasi search. Nilai default-nya adalah 0 yang menunjuk pada tidak ada batasan. Jika suatu operasi search menemukan entry lebih dari pada yang dirincikan sebagai batasan, hanya kumpulan angka pertama yang dikembalikan. Dalam kasus ini, kode hasil dari

LDAP_SIZELIMIT_EXCEEDED dikembalikan untuk menunjuk bahwa terdapat hasil yang lebih banyak.

• timeLimit – batasan waktu dalam detik diijinkan untuk menyelesaikan sebuah operasi search. Nilai default-nya adalah 0 yang menunjuk pada tidak adanya batasan. Jika sebuah operasi search membutuhkan waktu lebih lama untuk diselesaikan dibandingkan dengan waktu yang ditentukan, operasi akan selesai pada waktu yang ditentukan. Hanya entry yang ditemukan pada kurun waktu ini yang dikembalikan. Pada kasus ini, kode hasil dari LDAP_TIMELIMIT_EXCEEDED dikembalikan untuk menunjukkan hasil yang diperoleh lebih besar. Beberapa implementasi dari server LDAP mengijinkan administrator direktori untuk mengatur kewajiban menaikkan timeLimit untuk semua operasi cient. Beberapa server LDAP memiliki user khusus yang dapat menggantikan batas waktu server. Client dapat mengatur batasan dengan nilai lebih rendah, tetapi batasan lebih besar daripada batasan server yang diabaikan. • typesOnly – jika diatur menjadi true, hasilnya akan merinci hanya tipe atribut,

bukan nilainya. Nilai default dari false adalah untuk menunjukkan bahwa tipe atrubut dan nilainya harus dikembalikan.

Dalam penambahan pada operator filter, operator yang lain, disebut match operator atau comparison operator, dapat mengubah search filter. Kebanyakan dokumen pada pokok permasalahan ini membingungkan match operator dengan filter operator. Tetapi match operator tidak bekerja pada seluruh ekspresi filter, hanya pada nilai atribut. Match operator biasanya merupakan operator matematika umum, seperti equality, atau greater

than atau equal. Match operator digunakan untuk menolong untuk menandakan entry yang cocok dengan nilai parameter atribut yang diinginkan. Operasi digunakan untuk mencocokkan perubahan tergantung dari tipe khusus dari data yang disimpan dalam atribut. Kebanyakan atribut menyimpan beberapa tipe dari nilai string, dengan kata lain text. Oleh karena itu, kebanyakan operator match yang umum akan menggunakan operator match string. Ini adalah beberapa operator match string (Arkills, 2003):

• = Equality

• <= Less than or equal to - (sn<=Arkills) akan entry huruf sebelumnya pada Arkills dengan tambahan pada Arkill, sebagai contoh sn=Adams. Sebagai catatan dalam menggabungkan dengan bukan operator filter, pembuatan operasi greater-than dengan tidak memasukkan entry yang sama.

• >= Greater than or equal to - (sn>=Arkills) akan mengembalikan entry setelah Arkill ditambahkan pada Arkill, sebagai contoh sn=Chewbacca. Sebagai catatan dalam menggabungkan dengan bukan operator filter, dapat menciptakan operasi less-than

• ~= approximate - (sn~=Cat) akan mengembalikan entry seperti sn=Scat, sn=Cast, sn=Hat, dan sn=Mat. Algoritma dipergunakan untuk memperkirakan kecocokan berbagai macam filter tergantung dari implementasinya. Biasanya sebuah karakter wildcard diijinkan dalam beberapa posisi, tapi ini tidak distandarisasi, dan pendekatan match operator tidak selalu diimplementasi.

Akhirnya, asterisk (*) dapat digunakan sebagai wildcard untuk kosong atau lebih karakter dalam nilai sebuah string. Wildcard digunakan untuk mengetahui keberadaan dari atribut atau dalam kombinasi dengan karakter lain untuk menemukan substrings. Dalam contoh yang ditunjukkan pada gambar di bawah ini, search filter dari (cn=*Skywalker) akan mengembalikan entry baik Luke dan Anakin Skywalker. Baik kehadiran dan kemampuan substring yang dimiliki wildcard sangat berguna.

Dokumen terkait