Lightweight Directory Access Protocol : LDAP



Benzer belgeler
Kurumsal Yönetimde Dizinler, LDAP ve Yeni Dünya Düzeni!

İÇİNDEKİLER. LDAP a Giriş

LDAP Servis Yönetimi. Ender Güler HPC Sistem Sorumlusu Ulusal Yüksek Başarımlı Hesaplama Merkezi UHeM

LDAP VE WORDPRESS İLE

LDAP Administrator ile Active Directory Yonetimi

Bilgi Servisleri (IS)

ĐSTEMCĐ SUNUCU SĐSTEMLER DERSĐ FĐNAL ÇALIŞMASI SORULAR YANITLAR

Active Directory Nedir Ne Değildir?

SAKAI Öğrenme Yönetim Sisteminde Tek Şifre Yönetimi

İSTANBUL KÜLTÜR ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ REHBER HİZMET SUNUCULARI VE UYGULAMALARI. YÜKSEK LİSANS TEZİ Fuat ALTUN

LDAP ile Güvenli Kullanıcı Kontrol Sistemi

BLM 6196 Bilgisayar Ağları ve Haberleşme Protokolleri

Paloalto LDAP Yapılandırılması LDAP: Lightweight Directory Access Protocol DAP (Directory Access Protocol) API (Application Programming Interface)

Mobil Cihazlardan Web Servis Sunumu

Hüseyin YÜCE, Gökhan AKIN, Hüsnü DEMIR

Yeni kullanıcı hesabı açmak ya da varolan hesaplar üzerinde düzenlemeler yapmak.

ÖNDER BİLGİSAYAR KURSU. Sistem ve Ağ Uzmanlığı Eğitimi İçeriği

DNS. Linux Yaz Kampı Bolu 2012 Eray Aslan

Gökhan AKIN ĐTÜ/BĐDB Ağ Grubu Başkanı ULAK/CSIRT. Sınmaz KETENCĐ ĐTÜ/BĐDB Ağ Uzmanı

LDAP Addressbook Phpldapadmin - Apache

Öğr. Gör. Serkan AKSU 1

ÖZGÜR YAZILIMLAR İLE J2EE

Veri Tabanı-I 1.Hafta

BİLGİSAYAR AĞLARI VE İLETİŞİM

QMAIL-LDAP VE CLUSTER

Swing ve JDBC ile Database Erişimi

Elbistan Meslek Yüksek Okulu Güz Yarıyılı

O P C S T A N D A R D I

ProFTPD FTP Sunucusu. Devrim GÜNDÜZ. TR.NET Sistem Destek Uzmanı.

TÜBİTAK UEKAE ULUSAL ELEKTRONİK ve KRİPTOLOJİ ARAŞTIRMA ENSTİTÜSÜ

Elbistan Meslek Yüksek Okulu Güz Yarıyılı EKi Salı, Perşembe Öğr. Gör. Murat KEÇECĠOĞLU

FTP ve Güvenlik Duvarları

Veritabanı Uygulamaları Tasarımı

Ağ Yönetiminin Fonksiyonel Mimarisi

Yeni Nesil Ağ Güvenliği

TCP/IP. TCP (Transmission Control Protocol) Paketlerin iletimi. IP (Internet Protocol) Paketlerin yönlendirmesi TCP / IP

Bölüm 10: PHP ile Veritabanı Uygulamaları

Veritabanı. Ders 2 VERİTABANI

LDAP ile Güvenli Kullanıcı Kontrol Sistemi

Oturum Başlatma Protokolü ve Uygulamaları

BioAffix Ones Technology nin tescilli markasıdır.

DNS Nedir? HİKMET TÜYSÜZ

LOGO DESTEK DOKÜMANI

Bilgisayar Sistemleri ilk ortaya çıktığında...

Messenger Sunucularının Kurulum Dokümanı

Veri Tabanı-I 1.Hafta

PostgreSQL'de Güvenlik

HP PROCURVE SWITCHLERDE 802.1X KİMLİK DOĞRULAMA KONFİGÜRASYONU. Levent Gönenç GÜLSOY

Grid Bilgi Sistemleri (Grid Information Systems)

1 Temel Kavramlar. Veritabanı 1

BIL411 - BİLGİSAYAR AĞLARI LABORATUVARI

Kablosuz Ağlar İçin Misafir SSID Bağlantı Sistemi ve SMS Destekli Kullanıcı Doğrulama Modülü

Data Communication Systems Lab

VERİ TABANI YÖNETİM SİSTEMLERİ

ArcGIS Viewer for Silverlight (Giriş)

Kepware Veritabanı Ürünleri. Teknolojiye Genel Bir Bakış

Ortamınızda A.D. veya LDAP sistemi var ise aşağıdaki linkten KoruMail LDAP-AD isimli dokümanı inceleyebilirsiniz.

Veritabanı İşlemleri

PHP'ye Giriş Türkiye PHP Grubu - Linux Şenlikleri PHP Eğitim / Tanıtım Seminerleri Ankara, 11 Mayıs 2006 Hidayet Doğan <hdogan@hido.

Üst Düzey Programlama

BioAffix Ones Technology nin tescilli markasıdır.

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı

TCP / IP NEDİR? TCP / IP SORUN ÇÖZME

Protocol Mimari, TCP/IP ve Internet Tabanlı Uygulamalar

DNS Servis Yönetimi. Ender Güler HPC Sistem Sorumlusu Ulusal Yüksek Başarımlı Hesaplama Merkezi UHeM

Gökhan AKIN ĐTÜ/BĐDB Ağ Grubu Başkanı - ULAK/CSIRT. Sınmaz KETENCĐ ĐTÜ/BĐDB Ağ Uzmanı

Oracle Database 11g: Introduction to SQL

Ayni sistem(host) üzerinde IPC. Ağ(network) aracılığı ile IPC

BioAffix Ones Technology nin tescilli markasıdır.

Windows Đşletim Sistemleri AD Etki Alanı Grupları Đncelenmesi ve Güvenlik Ayarları

SSH Tünelleme ile İçerik Filtreleyicileri Atlatmak

BioAffix Ones Technology nin tescilli markasıdır.

CHAPTER 10. DNS Server

PROGRAMLAMAYA GİRİŞ DERS 2

FREE-RADIUS - LDAP ile KİMLİK DENETİMİ

POSTGRESQL'de İleri Seviyede Veri Kurtarma ve Yedekleme

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı EKi Salı, Çarşamba Öğr. Gör. Murat KEÇECĠOĞLU

Bölüm 8 : PROTOKOLLER VE KATMANLI YAPI: OSI, TCP/IP REFERANS MODELLERİ.

Seagull ile Diameter Mesajları Üretme

1 WINDOWS SERVER 2012 GENEL BAKIŞ 1 Giriş 1 Bu Kitapta 5 Çıkış Hikâyesi 6 Sürümler 7

Bilgisayar Ağları. Ağı oluşturan cihazlar. Coğrafi koşullara göre ağın sınıflandırılması (LAN, MAN, WAN)

MOBİL UYGULAMA GELİŞTİRME


Script. Statik Sayfa. Dinamik Sayfa. Dinamik Web Sitelerinin Avantajları. İçerik Yönetim Sistemi. PHP Nedir? Avantajları.

e-fatura UYGULAMASI (Entegrasyon Kılavuzu) Şubat 2010 ANKARA e-fatura Uygulaması (Entegrasyon Kılavuzu) Şubat 2010 Versiyon : 1.

Özgür ve Açık Kaynak Kodlu Yazılımlar Kullanılarak Merkezi Servisler Nasıl Verilebilir?

BİLGİSAYAR AĞLARI. «Uygulama Katmanı»

Spring Security Framework Harezmi Bilişim Çözümleri

Gökhan AKIN İTÜ/BİDB Ağ Grubu Başkanı - ULAK/CSIRT

Dünyanın bilgisine açılan pencere... Ya da sadece yeni çağın eğlencesi...

KURUMSAL PORTAL TASARIMI

MCR02-AE Ethernet Temassız Kart Okuyucu

İÇİNDEKİLER VII İÇİNDEKİLER

Basit Mimari, Katmanlı Mimari ve doğrudan çalıştırma olarak üçe ayrılır.

WINDOWS SERVER 2008 R2 REMOTE DESKTOP SERVICES RD Connection Broker

MATLAB A GİRİŞ. EE-346 Hafta-1 Dr. Ayşe DEMİRHAN

Php İle Mysql Veritabanından Bilgi Çekme

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 1

PHP I PHP I. E. Fatih Yetkin. 26 Eylül 2011

Transkript:

Linux Kullanıcıları Derneği Lightweight Directory Access Protocol : LDAP Erhan Ekici erhan.ekici@lkd.org.tr 15 Mayıs 2004 2004, LKD

Lightweight Directory Access Protocol Dizin (Directory) nedir? X.500 Nedir? DAP Nedir? LDAP Nedir? X.500 ile LDAP arasındaki farklar nelerdir? LDAP v2 & LDAP v3? Niçin LDAP? LDAP & Veritabanı? LDAP İsim Alanları LDAP Şemaları 2

Dizin (Directory) nedir? Genellikle okuma ve arama gibi amaçlar için düzenlenmiş/optimize edilmiş bir tür veritabanıdır. Yazma amaçlı erişim okuma amaçlı erişime göre çok çok düşüktür. Örnekler : Adres Defterleri Domain Name System Sözlük Sunucuları Sarı Sayfalar Telefon Defteri Vs... 3

X.500 Nedir? 1988 te CCITT tarafından tanımlandı, 1990 da ISO 9594 olarak standartlaştı. DAP protokolü kullanan Sunucu ve İstemci arasındaki haberleşmeyi tanımlar Elektronik Dizin Servislerini kapsayan ITU standartlar dizisi X.500 OSI(Open System Interconnection) Dizin Servislerini tanımlar Hiyerarşik Dağıtık Mimarili Replicated Schema destekli 4

DAP Nedir? DAP Directory Access Protocol Dizin Erişim Protokolü OSI Modelinin Uygulama Katmanında çalışan bir protokoldür 5

X.500 den LDAP ye... X.500 DAP protokolünü kullanır. DAP çalışabilmek için tüm OSI protokol kümesine gereksinim duyar. Tüm OSI protokol kümesinin bulunabileceği sistemler ancak kaynak bakımından yeterli, büyük sistemler. Daha az kaynak (donanım) barındıran sistemler için elverişsiz Peki bu kadar kaynak harcamadan bu iş nasıl yapılır? Yok mu bunun light sürümü : : 6

LDAP Nedir? Lightweight Directory Access Protocol IETF (Internet Engineering Task Force) tarafından sunulmuş bir standart TCP üzerinden X.500 Dizin Servislerine erişmek için tasarlandı. Sonra kendi bir dizin servisi haline geldi. Sunucu / İstemci mimarisine sahiptir. 7

X.500 ile LDAP arasındaki farklar nelerdir? X.500 OSI Protokol Kümesini kullanır. LDAP TCP/IP protokolünü kullanır. X.500 yapısı çok detay içeren, karışık bir yapıdır. LDAP basitlik üzerine kurulmuştur. X.500 OSI kullanmasından dolayı, küçük sistemler ve masaüstü sistemler için uygun değildir. LDAP çok kaynak gerektirmeyen ve her sistemde bulunabilen TCP/IP ye gereksinim duyduğundan yaygın olarak kullanılabilir. 8

LDAP v2 - RFC (Request for Comment) X.500 Lightweight Access Protocol (RFC 1487) Lightweight Directory Access Protocol (RFC 1777) The String Representation of Standard Attribute Syntaxes (RFC 1778) A String Representation of Distinguished Names (RFC 1779) An LDAP URL Format (RFC 1959) A String Representation of LDAP Search Filters (RFC 1960) 9

LDAP v3 - RFC (Request for Comment) Lightweight Directory Access Protocol (v3) (RFC 2251) Lightweight Directory Access Protocol (v3): Attribute Syntax Definitions (RFC 2252) Lightweight Directory Access Protocol (v3): UTF-8 String Representation of Distinguished Names (RFC 2253) The String Representation of LDAP Search Filters (RFC 2254) The LDAP URL Format (RFC 2255) A Summary of the X.500(96) User Schema for use with LDAPv3 (RFC2256) 10

LDAP v2 & LDAP v3 : v3 ün Üstünlükleri Yönlendirme (Referrals) İstemcinin talep ettiği veriye sahip olmayan sunucu istemciyi başka bir sunucuya yönlendirebilir Güvenlik (Security) Simple Authentication and Security Layer (SASL) kullanımı ile genişleyebilir doğrulama mekanizması UTF-8 Karakterler (Internationalization) Uluslararası karakterler için UTF-8 desteği Esneklik & Genişleyebilirlik (Extensibility) Yeni nesne türleri ve işlemler dinamik olarak tanımlanabilir ve şema (schema) tanımlama standartları 11

UTF 8 (UCS Tranformation Format) 12

LDAP önceleri X.500 Dizinlerine erişmek için tasarlandı 13

Sonra... 14

LDAP Sunucu-İstemci Mimarisi 15

LDAP adres gösterimi ldap://<sunucuadresi:port>/ou=seminercg,o=lkd,c=tr Port : 389 SSL Port : 636 ldap:// protokolü belirtir /ou=seminercg,o=lkd,c=tr taranacak dizini belirtir. 16

LDAP İlişkisi User The Directory Request Response 17

Niçin LDAP? Kullanıcı bilgileri,grup bilgileri vb bilgilerin merkezi yönetimi Farklı uygulamalar farklı dizinler kullanmayacak Kullanıcıların aradıkları bilgiye hızlı ve kolay ulaşması Dağıtık mimariye uygun olması Her sistemde kullanılabilmesi 18

LDAP ve Veritabanı : Farklar LDAP özel amaçlı bir veritabanı gibi düşünülebilir. Veritabanları hem okuma hemde yazmaya karşı optimize edilmiştir. LDAP okuma/arama özellikleri yazma özelliklerine göre çok daha gelişkindir. Veritabanları komplex işlemleri (rollback,transaction) destekler. LDAP komplex veritabanı işlemlerini desteklemez.(bazı yazılım firmaları bu desteği ürünlerine eklemişlerdir.) LDAP sunucular göreceli statik bilgiler saklarken, Veritabanı sunucuları dinamik veriler saklarlar. LDAP standartlar üzerine kurulmuştur.bir LDAP istemcisi tüm LDAP sunuculara erişebilir. Farklı veritabanı araçları sadece kendi ürünlerine erişmek için kullanılabilir. 19

LDAP Directory Information Tree (DIT) 20

Hiyerarşik Ağaç Yapısı 21

Düz (Flat Ağaç Yapısı) 22

İsim Uzayları (Namespace) LDAP Yapısı Linux Dosya Sistemine benzer. DNS yapısı LDAP yapısı ile benzerlikler gösterir Linux dosya sistemi kökten sona doğru giderken, LDAP DN leri sondan köke doğru gider LDAP de her kayıt(entry) veri içerebileceği gibi kendiside veri barındıran(container) olabilir. LDAP de tek bir kök (root) yoktur, birden fazla olabilir. 23

İsim Uzayları (Namespace) devam... 24

DN : Distinguished Names dn: uid=erhan, ou=communication, o=firma, c=tr Altan başlayarak her seviyedeki değerler alınır ve virgülle ayrılır. İkiye ayrılır: En soldaki RDN : Relative Distinguished Name Kalan : Base Distinguished Name Örnek : dn: uid=erhan, ou=communication, o=firma, c=tr RDN : uid=erhan Base: ou=communication, o=firma, c=tr Her base DN de ki RDN tekildir. 25

LDAP Kayıt (Entry) Kayıtlar özelliklerin (attribute) bir araya gelmesi ile oluşur. Özellik (Attribute) <tür> : <değer> Aynı tipte birden fazla özellik olabilir. Cn = Erhan Cn = Erhan Ek Type : Ne tip bilgi olacağını belirler Mail,jpegphoto, url vs... Değer: text formatında olabildiği gibi base-64 encoded da olabilir. Özelliklerde ne tip bilgiler ve bu bilgilerin hangi formatta olacağı bellidir. ObjectClass lar... 26

Objectclass Özelliklerde ne tip bilgiler ve bu bilgilerin hangi formatta olacağı bellidir. Bir kayıt icin birden fazla Objectclass olabilir. Hangi objectclass'larin kullanılabileceği şemalar (schema) ile belirlenir. Bazı objectclass'lar: account posixaccount posixgroup shadowaccount top organizationalunit 27

28

Aliases Bir LDAP kaydının(entry) diğerini göstermesi Hiyerarşik olmayan yapı kurulmasına izin verir Unix/Linux daki sembolik link kavramına benzetilebilir Performans tan dolayı tüm LDAP sunucular desteklemeyebilir aliasedobjectname 29

Terimler LDAP Lightweight Directory Access Protocol DN Distinguish Name RDN Relative Distinuished Name DIT Directory Information Tree LDIF LDAP Data Interchange Format OID Object Identifier 30

LDIF Nedir? LDAP Data Interchange Format LDAP kayıtları düz metin formatında sunulur Veri değişiklerini kolaylaştırır Okunabilir bir formata sahiptir Betikler ve çeşitli araçlar ile hazırlanabilir,aktarılabilir vs.. Yedekleme ve başka bir sisteme aktarma işlemleri yapılabilir ldif2db2, ldif2ldbm vb araçlar ile dönüşüm yapılabilir 31

LDIF Nedir? devam... Örnek bir LDIF dosyası dn: uid=erhan,ou=people,dc=linuxcenter,dc=org uid: erhan cn: Erhan Ekici objectclass: account objectclass: posixaccount objectclass: top loginshell: /bin/bash uidnumber: 500 gidnumber: 120 homedirectory: /home/erhan userpassword: {crypt}kynmopyf7jsag 32

LDAP Şemaları (Schemas) Dizinde saklanacak verinin türünü ve yapısını belirten kurallar bütünü Veri bütünlüğü, uyumluluk sağlar Benzer veriler girilmesini ve kaynak israfını engeller Uygulamalar için kolaylık sağlar Object class özelliği kaydın uyması,takip etmesi gereken kuralları, şemalar da objectclass'ların izlemesi gereken kuralları belirler. 33

Şema (Schema) devam... Bir şema aşağıdakileri içermelidir: Gerekli özellikler İzin verilen özellikler Özellikler nasıl karşılaştırılacak Özelliğin saklayacağı veri tipi kısıtlama getirebilir (sayı olmasın gibi) Özelliğin saklayacağı veri üzerine kısıtlama getirebilir (no dublication gibi) 34

Şemalar corba.schema cosine.schema core.schema openldap.schema inetorgperson.schema java.schema misc.schema nis.schema 35

İnetorgperson.schema dosya yapısı... attributetype ( 2.16.840.1.113730.3.1.241 NAME 'displayname' DESC 'RFC2798: preferred name to be used when displaying entries' EQUALITY caseignorematch SUBSTR caseignoresubstringsmatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE ) attributetype ( 0.9.2342.19200300.100.1.60 NAME 'jpegphoto' DESC 'RFC2798: a JPEG image' SYNTAX 1.3.6.1.4.1.1466.115.121.1.28 ) 36

Object Class Bilgileri gruplamak için kullanılır Aşağıdaki kuralları sağlar: :: Gerekli özellikler :: İzin verilen özellikler :: Grup halinde bilgileri almak için kolay bir yol Kayıtlar çoklu object class içerebilirler 37

Özellikler (Attributes) Sahip olduğu alanlar: Name : tekil, büyük-küçük harf duyarlı değil Object Identifier (OID) : Aralarında nokta olan sayılar dizisi Attribute Syntax : Saklanabilecek veri özellikleri Kontrol ve Karşılaştırmalar nasıl yapılacak Tekil Değer(Single Value) veya Çoklu Değer(Multiple Value) 38

Bazı Attribute lar (bkz: RFC 2256) uid cn sn l ou o dc st c -- User id -- Common Name -- Surname -- Location -- Organisational Unit -- Organisation -- Domain Component -- State -- Country 39

LDAP Search İşlemi Arama işlemi sonucu dönecek veriyi tanımlamak Base dn = arama işleminin başlayacağı yer Standartlar RFC 1960: LDAP String Representation of Search Filters RFC 2254: LDAPv3 Search Filters Operators & = and = or! = not ~= = approx equal >= = greater than or equal <= = less than or equal * = any 40

LDAP Search İşlemi devam... Örnek: (objectclass=posixaccount) (cn=erhan E*) ( (uid=galileo)(uid=kepler)) (&( (uid=galileo)(uid=kepler))(objectclass=posixaccount)) 41

Search Base Scope 42

Search One Level Scope 43

Search Subtree Scope 44

LDAP Komut Satırı Araçları ldapadd, ldapmodify Kayıt girmek / Düzenlemek $ ldapmodify -r -D 'cn=foo,dc=bar,dc=com' -W < /tmp/user.ldif ldapdelete Kayıt Silmek $ ldapdelete -D 'cn=foo,dc=bar,dc=com' -W 'cn=user,dc=bar,dc=com' ldapsearch LDAP Sunucuda Arama Yapmak $ ldapsearch -L -D 'cn=foo,dc=bar,dc=com' 'objectclass=posixaccount' 45

Yönlendirme (Referral) 46

Uygulamalı OpenLDAP Kurulumu Planlama Yazılım : www.openldap.org Kurulum : openldap, dbm, vs.. slapd.conf slurpd.conf Test... 47

Dağıtık LDAP Mimarileri Yansılanan Sunucular (Replicated Servers) Bölümlenmiş Sunucular (Partitioned Servers) Karışık Sunucular (Partitioned & Replicated Servers) REPLICA : Bir sunucudaki verilerin aynen başka sunucuya aktarılması işlemi replication, aktarılan sunucu replication sunucu 48

Yansılanmış Sunucular (Replicated Servers) Faydaları : Güvenilirlik (Reliability) Bulunurluk (Availability) Performans Hız Geçici uyumsuzluklar olabilir (master ve replica arasında) Single Point of Failure olmaz İstemcilere yakın noktalarda yansılanmış(replica) sunucular bulunmalı 49

Yansılama Şeması (Replication Figure) 50

Yansılama Şeması (Replication Figure) 51

Ardışıl Replication 52

Yansılama & Yönlendirme 1 - İstemci değişiklik isteğini replicaya gönderir 2 - Replica istemciye master sunucuyu refer eder 3 - İstemci değişiklik isteğini tekrardan master sunucuya gönderir 4 - Master sunucu sonucu istemciye gönderir 5 - Master son değişiklikler ile replicayı günceller 53

Peer to Peer Replication 54

Gateway Replication 55

Replication Site Kavramı 56

LDAP Uygulama Geliştirme C ile LDAP Uygulamaları (LDAP C API) Java ile LDAP Uygulamaları (JNDI) Python ile LDAP Uygulamaları PHP ile LDAP Uygulamaları Perl ile LDAP Uygulamaları geliştirilebilir. 57

LDAP C API /* ldapdelete.c - simple program to delete an entry using LDAP */ #include <stdio.h> #include <string.h> #include <stdlib.h> #include <ctype.h> #include <ldap.h> #include <ldif.h> #ifdef LDAP_SSL_MAX #include <ldapssl.h> #endif...... LDAP C API ile ilgili bilgi kullanılan LDAP sunucunun dokümantasyonunda bulunabilir. 58

Java ile LDAP Uygulamaları (JNDI) Java Naming and Directory Interface Java ile yazılan uygulamalar için Naming ve Directory API 59

Python ile LDAP Uygulamaları Python-Ldap modülü http://python-ldap.sourceforge.net LDAP C API Wrappers Python-ldap >>> import ldap >>> l = ldap.initialize("ldap://my-ldap-server.my-domain:389") >>> l.simple_bind_s("","") >>> l.search_s("o=my Organisation, c=au", ldap.scope_subtree, "objectclass=*") 60

PHP ile LDAP Uygulamaları (OpenLDAP) <?php echo "Connecting..."; $ds=ldap_connect("localhost"); // must be a valid LDAP server! if ($ds) { echo "Binding..."; $r=ldap_bind($ds); echo "Bind result is ". $r. "<br />"; $sr=ldap_search($ds, "o=my Company, c=us", "sn=s*"); echo "Search result is ". $sr. "<br />"; echo "Getting entries...<p>"; $info = ldap_get_entries($ds, $sr); echo "Data for ". $info["count"]. " items returned:<p>"; for ($i=0; $i<$info["count"]; $i++) { echo "dn is: ". $info[$i]["dn"]. "<br />"; echo "first cn entry is: ". $info[$i]["cn"][0]. "<br />"; echo "first email entry is: ". $info[$i]["mail"][0]. "<br /><hr />"; } echo "Closing connection"; ldap_close($ds); } else { echo "<h4>unable to connect to LDAP server</h4>"; }?> 61

Perl ile LDAP Uygulamaları #!/usr/bin/perl -w use strict; use Net::LDAP; my($ldap) = Net::LDAP->new('ldap.test.com') or die "Can't bind to ldap: $!\n"; $ldap->bind; my($mesg) = $ldap->search( base => "dc=pisoftware,dc=com", filter => '(objectclass=*)'); $mesg->code && die $mesg->error; my($entry); map { $_->dump } $mesg->all_entries; $ldap->unbind; 62

LDAP Sunucuları Slapd University of Michigan Openldap IBM Tivoli Directory Server Netscape Directory Server Microsoft Active Directory (AD) Novell Directory Services (NDS) Sun Directory Services (SDS) Lucent's Internet Directory Server (IDS) 63

Sorular 64