輕型目錄訪問協議

輕型目錄訪問協議（Lightweight Directory Access Protocol，縮寫：LDAP，p）是一個開放的，中立的，工業標準的應用協議，通過IP協議提供訪問控制和維護分佈式信息的目錄信息。
目錄服務在開發內部網和與互聯網程序共享用戶、系統、網絡、服務和應用的過程中佔據了重要地位。例如，目錄服務可能提供了組織有序的記錄集合，通常有層級結構，例如公司電子郵件目錄。同理，也可以提供包含了地址和電話號碼的電話簿。
LDAP由互聯網工程任務組（IETF）的文檔RFC定義，使用了描述語言ASN.1定義。最新的版本是版本3，由RFC 4511所定義。例如，一個用語言描述的LDAP的搜索如：“在公司郵件目錄中搜索公司位於那什維爾名字中含有“Jessy”的有郵件地址的所有人。請返回他們的全名，電子郵件，頭銜和簡述。”
LDAP的一個常用用途是單點登錄，用戶可以在多個服務中使用同一個密碼，通常用於公司內部網站的登錄中（這樣他們可以在公司電腦上登入一次，便可以自動在公司內部網上登入）。
LDAP基於X.500標準的子集。因為這個關係，LDAP有時被稱為X.500-lite。

**概述**
鑑於原先的目錄訪問協議（Directory Access Protocol即DAP）對於簡單的互聯網客戶端使用太複雜，IETF設計並指定LDAP做為使用X.500目錄的更好的途徑。LDAP在TCP/IP之上定義了一個相對簡單的升級和搜索目錄的協議。 
常用詞"LDAP目錄"可能會被誤解，而實際並沒有"LDAP目錄"這麼一個目錄種類。通常可以用它來描述任何使用LDAP協議訪問並能用X.500標識符標識目錄中對象的目錄。與ISODE提供的X.500協議的網關相比，儘管OpenLDAP及其來自密歇根大學的前身等的目錄基本上設計成專門為LDAP訪問而優化的，但也沒有比其他用LDAP協議訪問的目錄額外多出來所謂“LDAP目錄”。
協議的第三版由Netscape的Tim Howes，ISODE的Steve Kille和Critical Angle Inc的Mark Wahl撰寫。

**協議內容**
LDAP目錄的條目（entry）由屬性（attribute）的一個聚集組成，並由一個唯一性的名字引用，即專有名稱（distinguished name，DN）。例如，DN能取這樣的值：“ou=people,dc=wikipedia,dc=org”。
dc=org


dc=wikipedia
/          \
ou=people     ou=groups
LDAP目錄與普通數據庫的主要不同之處在於數據的組織方式，它是一種有層次的、樹形結構。所有條目的屬性的定義是對象類object class的組成部分，並組成在一起構成schema；那些在組織內代表個人的schema被命名為white pages schema。數據庫內的每個條目都與若干對象類聯繫，而這些對象類決定了一個屬性是否為可選和它保存哪些類型的信息。屬性的名字一般是一個易於記憶的字符串，例如用cn為通用名（common name）命名，而"mail"代表e-mail地址。屬性取值依賴於其類型，並且LDAPv3中一般非二進制值都遵從UTF-8字符串語法。例如，mail屬性包含值“user@example.com”；jpegPhotos屬性一般包含JPEG/JFIF格式的圖片。 
LDAP目錄條目可描述一個層次結構，這個結構可以反映一個政治、地理或者組織的範疇。在原始的X.500模型中，反應國家的條目位於樹的頂端；接著是州或者民族組織。典型的LDAP配置使用DNS名稱作為樹形結構的頂端，下列是代表人、文檔、組織單元、打印機和其他任何事務的條目。
LDAP影響了後續的Internet協議，包括新版本的X.500、Directory Services Markup Language (DSML)、Service Provisioning Markup Language (SPML)和Service Location Protocol.

**RFC**
 RFC 1777 - LDAPv2- RFC 1778 - LDAPv2 String Representation of Standard Attribute Syntaxes- RFC 1959 - URL Format- RFC 1960～RFC 2254 - String Representation of LDAP Search Filters- RFC 1823 - C API- RFC 2247 - Use of DNS domains in distinguished names- RFC 2251 - LDAPv3: The specification of the LDAP on-the-wire protocol- RFC 2252 - LDAPv3: Attribute Syntax Definitions- RFC 2253 - LDAPv3: UTF-8 String Representation of Distinguished Names- RFC 2254 - LDAPv3: The String Representation of LDAP Search Filters- RFC 2255 - LDAPv3: The LDAP URL Format- RFC 2256 - LDAPv3: A Summary of the X.500 (96) User Schema for use with LDAPv3- RFC 2829 - LDAPv3: Authentication Methods for LDAP- RFC 2830 - LDAPv3: Extension for Transport Layer Security- RFC 3377 - LDAPv3: Technical Specification- RFC 2307 - Using LDAP as a Network Information Service

**產品**
LDAP從下面-{}-廠商獲得廣泛支持：- Apache（通過Apache目錄服務器）- Apple（通過Open Directory）- AT&T- Banyan - HP- IBM/Lotus- ISODE（通過M-Vault server）- Microsoft（通過Active Directory）- Netscape（現在是Sun Microsystems和Red Hat的產品）- Novell（通過eDirectory）- OctetString（通過VDE服務器）- Oracle（通過Oracle Internet Directory）- Red Hat（通過 Fedora目錄服務器 date=20100316095928 ）- 西門子公司（通過DirX服務器） - Sun（通過iPlanet目錄服務器）
此外還有開源/自由軟件的實現——如OpenLDAP
Apache HTTP Server使用代理服務器（通過模塊mod_proxy）支持LDAP。

**外部鏈接**
 軟件
**  OpenLDAP date=20090703212752 
**  Novell eDirectory date=20121029083530 
**  Sun目錄服務器 date=20080907112920 
**  Windows Server 2003 Active Directory date=20060214105615 
**  EDS管理工具 date=20200602234916  
**  自由的Win32 LDAP客戶端-  Linux LDAP HOWTO date=20210507085515 -  LDAP文章、鏈接和白皮書 date=20210426040807 -  LDAP軟件和工具 date=20210427193742 -  LDAP (v3) Revision (ldapbis) Working Group-  What is LDAP? date=20210506084458 -  Nice Neat示例介紹LDAP-  Using OpenLDAP - 在Debian GNU/Linux安裝OpenLDAP date=20111001173151 -  LDAP Linux鑑權 - 將LDAP集成到PAM date=20111202203440 -  C#LDAP庫 date=20050331020946 。-  火箭科學家的LDAP date=20210513225704 -  PerLDAP 1.4的LDAP實現 date=20210227161640 -  The importance of LDAP Tom Jackiewicz關於LDAP的說明-  瞭解LDAP - 設計與實現 date=20210128174644 IBM紅皮書

**參考資料 ==