轻型目录访问协议,即lightweightdirectoryaccessprotocol(ldap)是一个访问在线目录服务的协议。
概述鉴于原先的目录访问协议(directoryaccessprotocol即dap)对于简单的互联网客户端使用太复杂,ietf设计并指定ldap做为使用x.500目录的更好的途径。ldap在tcp/ip之上定义了一个相对简单的升级和搜索目录的协议。
常用词"ldap目录"可能会被误解,而实际并没有"ldap目录"这么一个目录种类。通常可以用它来描述任何使用ldap协议访问并能用x.500标识符标识目录中对象的目录。与isode提供的x.500协议的网关相比,尽管openldap及其来自密歇根大学的前身等的目录基本上设计成专门为ldap访问而优化的,但也没有比其他用ldap协议访问的目录额外多出来所谓“ldap目录”。
协议的第三版由netscape的timhowes,isode的stevekille和criticalangleinc的markwahl撰写。
协议内容
ldap目录的条目(entry)由属性(attribute)的一个聚集组成,并由一个唯一性的名字引用,即专有名称(distinguishedname,dn)。例如,dn能取这样的值:“cn=johndoe,ou=people,dc=wikipedia,dc=org”。所有条目的属性的定义是对象类objectclass的组成部分,并组成在一起构成schema;那些在组织内代表个人的schema被命名为whitepagesschema。数据库内的每个条目都与若干对象类联系,而这些对象类决定了一个属性是否为可选和它保存哪些类型的信息。属性的名字一般是一个易于记忆的字符串,例如用cn为通用名(commonname)命名,而"mail"代表e-mail地址。属性取值依赖于其类型,并且ldapv3中一般非二进制值都遵从utf-8字符串语法。例如,mail属性包含值“user@example.com”;jpegphotos属性一般包含jpeg/jfif格式的图片。
ldap目录条目可描述一个层次机构,这个结构可以反映一个政治、地理或者组织的范畴。在原始的x.500模型中,反应国家的条目位于树的顶端;接着是州或者民族组织。典型的ldap配置使用dns名称作为树形结构的顶端,下面是代表人、文档、组织单元、打印机和其他任何事务的条目。
ldap影响了后续的internet协议,包括新版本的x.500、directoryservicesmarkuplanguage(dsml)、serviceprovisioningmarkuplanguage(spml)和servicelocationprotocol.