此 Java 教程是针对 JDK 8 编写的。本页面中描述的示例和实践不利用后续版本中引入的改进,并且可能使用不再可用的技术。
有关 Java SE 9 及后续版本中更新的语言功能的摘要,请参阅 Java 语言更改。
有关所有 JDK 发布版本的新功能、增强功能以及已删除或已弃用选项的信息,请参阅 JDK 发布说明。
LDAP教程中的课程提供了LDAP和JNDI之间的映射细节。它们还提供了通过JNDI访问LDAP服务的提示和技巧。
X.500是CCITT对目录服务的标准,它是OSI服务套件的一部分。X.500标准定义了一种客户端应用程序访问X.500目录的协议,称为目录访问协议(DAP)。它在Open Systems Interconnection(OSI)协议栈之上进行分层。
因特网社区认识到需要类似X.500的服务,但面临着不同的底层网络基础设施(TCP/IP而不是OSI),因此设计了一种基于X.500 DAP协议的新协议,称为轻量级 DAP,或称为LDAP。RFC 2251定义了现在称为LDAP v3的LDAP的改进版本(或LDAP v2的前身),LDAP v2在RFC 1777中指定。
LDAP的目标是设计一种易于实现的协议,特别关注能够构建小型简单的客户端。它试图通过使用大量的字符串并在可能的情况下最小化使用结构来简化实现。例如,DN在协议中以字符串形式表示,属性类型名称和许多属性值也是如此。
该协议由客户端向服务器发送请求,服务器对请求作出响应,但响应的顺序不一定与请求发送的顺序相同。每个请求都标有一个ID,以便可以匹配请求和响应。该协议可以在TCP或UDP上工作,尽管TCP版本最常用。
由于关注客户端,LDAP社区还为DN的字符串表示(RFC 2553)、搜索过滤器(RFC 1960)和属性语法(RFC 1778)制定了标准,以及基于C语言的API(RFC 1823)和用于访问LDAP服务的URL格式(RFC 1959)。
LDAP v3支持国际化、各种身份验证机制、引用和通用部署机制。它允许通过使用扩展和控制向协议添加新功能,而无需对协议进行更改。