轻型目录访问协议

维基百科,自由的百科全书
跳转至: 导航搜索

轻型目录访问协议英文Lightweight Directory Access Protocol縮寫LDAP)是一个访问在线目录服务的协议。

目录是一组具有类似属性、以一定逻辑和层次组合的信息。常见的例子是电话簿,由以字母顺序排列的名字、地址和电话号码组成。最新版本的LDAP协议由RFC 4511所定义。

概述[编辑]

鉴于原先的目录访问协议(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=groups,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.500Directory 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 1960RFC 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从下面厂商获得广泛支持:

此外还有开源/自由软件的实现——如OpenLDAP Apache HTTP Server使用代理服务器 (通过模块mod_proxy)支持LDAP。

外部链接[编辑]