文档

Java™ 教程
隐藏目录
属性名称
路径:Java命名和目录接口
课程:命名和目录操作

属性名称

属性由属性标识符和一组属性值组成。 属性标识符,也称为属性名称,是一个字符串,用于标识属性。 属性值是属性的内容,其类型不限于字符串。 当您想要指定特定属性进行检索、搜索或修改时,可以使用属性名称。 在执行目录中的读取或搜索时,操作也会返回名称。

使用属性名称时,您需要了解某些目录服务器功能,以免对结果感到惊讶。 这些功能在下一小节中描述。

属性类型

在LDAP等目录中,属性的名称标识属性的类型,通常称为属性类型名称。 例如,属性名称"cn"也称为属性类型名称。 属性的类型定义指定属性值应具有的语法,是否可以具有多个值以及在执行比较和排序操作时使用的相等性和排序规则。

属性子类化

一些目录实现支持属性子类化,其中服务器允许以其他属性类型定义属性类型。 例如,"name"属性可能是所有与名称相关的属性的超类:"commonName"可能是"name"的子类。 对于支持此功能的目录实现,请求"name"属性可能返回"commonName"属性。

当访问支持属性子类化的目录时,您必须注意服务器可能返回具有与您请求的名称不同的属性。 为了尽量减少这种情况的发生,使用最具体的子类。

属性名称同义词

一些目录实现支持属性名称的同义词。 例如,"cn"可能是"commonName"的同义词。 因此,对"cn"属性的请求可能返回"commonName"属性。

当访问支持属性名称同义词的目录时,您必须注意服务器可能返回具有与您请求的名称不同的属性。 为了帮助防止这种情况发生,使用规范属性名称而不是其同义词。 规范属性名称是属性定义中使用的名称;同义词是在其定义中引用规范属性名称的名称。

语言首选项

LDAP v3的扩展(RFC 2596)允许您在属性名称后指定语言代码。 这类似于属性子类化,一个属性名称可以表示多个不同的属性。 一个示例是具有两种语言变体的"description"属性:

description: software
description;lang-en: software products
description;lang-de: Softwareprodukte

"description"属性的请求将返回所有三个属性。

当访问支持此功能的目录时,您必须注意服务器可能返回具有与您请求的名称不同的属性。


上一页: 创建和销毁子上下文
下一页: 读取属性