文档

Java™教程
隐藏目录
目录概念
教程:Java命名和目录接口
课程:命名和目录概念

目录概念

许多命名服务都扩展了一个目录服务。目录服务将名称与对象关联起来,还将这些对象与属性关联起来。

目录服务 = 命名服务 + 包含属性的对象

您不仅可以通过名称查找对象,还可以获取对象的属性或根据其属性搜索对象。

图示一个目录系统:一个名称引用一个包含属性的目录对象。

一个例子是电话公司的目录服务。它将订户的姓名映射到他的地址和电话号码。计算机的目录服务非常类似于电话公司的目录服务,因为两者都可以用于存储诸如电话号码和地址等信息。然而,计算机的目录服务更强大,因为它可以在线使用,并且可以用于存储用户、程序甚至计算机本身和其他计算机可以利用的各种信息。

一个目录对象代表计算环境中的一个对象。目录对象可以用于表示打印机、人员、计算机或网络等。目录对象包含描述其所代表对象的属性

属性

目录对象可以具有属性。例如,打印机可以由一个具有速度、分辨率和颜色属性的目录对象来表示。用户可以由一个具有用户的电子邮件地址、各种电话号码、邮政地址和计算机帐户信息的目录对象来表示。

属性具有属性标识符和一组属性值。属性标识符是一个标记,独立于其值标识属性。例如,两个不同的计算机帐户可能具有一个"mail"属性;"mail"是属性标识符。属性值是属性的内容。例如,电子邮件地址可能有:

属性标识符 : 属性值
                 mail   john.smith@example.com

目录和目录服务

目录是一组相互连接的目录对象。目录服务是提供用于在目录中创建、添加、删除和修改与对象关联的属性的操作的服务。该服务通过自己的接口访问。

有许多目录服务的例子。

网络信息服务 (NIS)
NIS是UNIX操作系统上的一个目录服务,用于存储与系统相关的信息,例如与机器、网络、打印机和用户相关的信息。
Oracle目录服务器
Oracle目录服务器是一个基于互联网标准LDAP的通用目录服务。

搜索服务

您可以通过向目录服务提供其名称来查找目录对象。另外,许多目录(如基于LDAP的目录)支持所谓的搜索概念。在搜索时,您可以提供一个查询,其中包含一个逻辑表达式,您可以在该表达式中指定对象必须具有的属性。该查询称为搜索过滤器。这种搜索方式有时称为反向查找基于内容的搜索。目录服务将搜索满足搜索过滤器的对象并返回。

例如,您可以查询目录服务以找到:

命名和目录服务的组合

目录通常将其对象按层次结构排列。例如,LDAP将所有目录对象排列在一棵称为目录信息树(DIT)的树中。在DIT中,组织对象可能包含组对象,而组对象又可能包含个人对象。当目录对象以这种方式排列时,它们既充当属性容器的角色,又充当命名上下文的角色。

上一页:命名和目录概念
下一页:JNDI概述