欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

1.2 背景简介:目录,目录服务和LDAP

程序员文章站 2022-05-17 11:33:59
...

 

背景简介:目录, 目录服务和LDAP

本章简要概述了目录,目录服务和LDAP。另外,提供了一些关于本章主题的资料的链接(书籍,在线资料等)。如果您已经是一个LDAP的专家,您可以跳过本章

 

  • 目录和目录服务
  • LDAP - 轻量级目录访问协议(Lightweight Directory Access Protocol)
  • LDAP资料

目录和目录服务

总的来说目录是一个数据集合或列表。现实世界的例子就是电话薄(公共的或组织内部的),教堂/土地登记和作品清单(例如Koechel索引—莫扎特作品集)。所有这些例子都是保存数据以供相关人员查询。

在信息技术中术语目录是指一种特定的数据存储结构。其 允许结构化存储和有效的检索对象,这些对象源于现实世界(例如人员,IT设备)。特点:

 

  • 所存的数据即条目(Entry)
  • 目录中的条目成树状结构(层次结构数据库)

目录服务可以使用户可以访问目录中所存储的信息。电话号码查询服务是一个很好的现实世界例子。在信息技术中这类服务通常是由软件组件提供。目录服务通过定义良好的接口提供对目录内容的访问。在网络环境中就需要一个协议。LDAP就是这样的协议。

上述现实世界中的例子可以以目录形式存储,也可以以适当的形式存储在其他存储系统中。乍一看目录也可以存储在关系型数据库中。 但实际上大多数大型企业和组织同时使用目录服务和关系型数据库。可以参阅Vikas Mahajan关于目录和数据库是互补而不是竞争的文章“应该使用目录还是数据库,亦或一起都用?”

LDAP – 轻量级目录访问协议(Lightweight Directory Access Protocol)

为何物?及其历史

完整的X.500标准在1988年完成,是今日众多目录解决方案的基础。在这个标准里,客户端通过基于OSI协议栈的目录访问协议(DAP:Directory Access Protocol)访问服务器。随着1990年代互联网的爆炸式发展,基于TCP/IP的目录访问性变得越来越重要。基于TCP/IP的访问方式从功能上属于DAP的子集,其在1993年实现标准化,这就是轻量级目录访问协议(LDAP:Lightweight Directory Access Protocol)。最初的LDAP的实现是网关方案,网关作为LDAP客户端和X.500服务器之间的中介。1995年,第一个LDAP服务器诞生在密歇根大学,即后来的OpenLDAP项目。1996年,Netscape 接着推出了首款商用LDAP服务器(Netscape Directory Server,后来的一些LDAP服务器的基础)。其他例子(在众多选择中)包括Microsoft Active Directory和Novell eDirectory。下图展示了目录协议从X.500/DAP到LDAP的发展过程。

1.2 背景简介:目录,目录服务和LDAP
            
    
    博客分类: ApacheDS V1.0 基础用户指南 ApacheDSLDAPDirectory 

信息模型

在LDAP的信息模型中数据作为一个个条目组成树状层次结构。每个条目都有一个独一无二的名字(DNDistinguished Name)用于标识其在树状结构中的位置。每个条目就是一个键/值对,即属性。有些属性也许会在一个条目中出现不止一次(单值或多值,例如:一个人可以有不止一个电话号码)。这就有了类定义,即一个具有必备属性的条目。从顶部作为根类形成层次结构;这样在面向对象的世界中就有了平行性。从顶部强制指定了每个条目所属的类。模式(schema)由类及属性类型组成,其决定了一个目录中可以存储什么样的条目。目录服务器通常都会预提供一个具有RFC中已经标准化了的元素的模式。此外,多数目录产品允许您定义自定义对象类和属性。但在实际中预定义元素会被使用。有些时候他们会根据特定需求进行扩展。

基于LDAP的常见目录应用

LDAP操作包括条目的创建,修改,删除,搜索。一般说来,LDAP目录为读取和搜索操作以牺牲写入操作的性能进行了优化。对于经常改动的数据,具有事物与参照完整性的关系型数据库更合适。目录更适合用作集中提供相对稳定的数据。
通常的例子是网络资源(打印机,服务)以及用户数据(包括证书和对资源的权限)。作为一个最显著的特性,为了更好的存取时间和更高的可用性很多目录产品为了提供了同步,这一点对地理上分散的组织尤其有用。最最普通的LDAP应用莫过于作为企业的电话薄。在这种情形下,大多数普通用户可能不知道的是Microsoft Outlook就是一个LDAP客户端。

支持LDAP的软件的例子

1.2 背景简介:目录,目录服务和LDAP
            
    
    博客分类: ApacheDS V1.0 基础用户指南 ApacheDSLDAPDirectory 

认证,授权或数据呈现等消费数据的LDAP客户端可以是多种类型的软件:

 

  • Email客户端(例如:Mozilla Thunderbird)
  • LDAP工具(例如:JXplorer)
  • Web服务器(例如:Apache Tomcat,Apache HTTP Server)
  • Mail服务器(例如:Apache James)
  • ……

这些软件结合ApacheDS使用的配置细节讲在后续章节中介绍。

 

LDAP资料