Sun Java System Directory Server Enterprise Edition 6.3 管理指南

虚拟转换示例

以下部分提供了要求使用虚拟数据视图的使用实例,并且需要结合使用转换模型和操作,来实现这些使用实例。

从条目的现有属性派生属性

使用以下转换规则可以从条目的现有属性派生属性。例如,当应用以下转换规则时,将显示从 givenNamesn 属性派生的 mail 属性。


$ dpconf add-virtual-transformation dataview1 read add-attr \
mail \${givenName}.\${sn}@example.com 

下图显示了用户条目在搜索中返回时发生的转换。

从条目的现有属性派生属性

将虚拟属性映射到实际属性

使用以下映射转换规则可以添加作为纯虚拟属性一部分的属性。例如,当应用以下转换规则时,会在服务器中存储 givenName,即使条目中未指定该属性。其值将从定义为 mail \${givenName}@example.com 的纯虚拟属性中获取。


$ dpconf add-virtual-transformation dataview1 mapping add-attr \
mail \${givenName}@example.com 

首先,添加一个包含虚拟属性 mail 而不包含 givenName 属性的条目。虚拟转换将生成 givenName 属性的值,并且将在该条目中存储 givenName 而不是 mail 属性。然后,搜索 uid 属性,检索 givenName 的值,并通过相同的虚拟转换生成虚拟属性 mail 的值。

下图显示了用户条目所发生的转换。

为条目添加一个从虚拟属性映射的属性

显示属性的第二个虚拟值(该值由另一个实际属性指定)

使用以下转换可以显示另一个属性指定的某个属性的值。例如,将 uid 的值显示为 cn 的值,同时还显示条目中已存储的 cn 值。以下示例未存储 cn 的其他值,但在结果返回至客户端之前,应用了转换。


$ dpconf add-virtual-transformation dataview1 read add-attr-value cn \${uid}

下图显示了用户条目在搜索中返回时发生的转换。

显示另一个属性指定的某个属性的值

存储属性的第二个值(该值由另一个实际属性指定)

使用以下转换规则可以存储属性的值以及添加新条目时提供的值。在以下方案中,当添加条目时,将存储 mail 属性的附加值。仅当创建新条目时才应用此转换。


$ dpconf add-virtual-transformation dataview1 write add-attr-value \
mail \${uid}@example.com

下图显示了执行添加请求时发生的转换。

为属性添加另一个属性指定的值

从输出中删除属性

如果不希望在输出中显示某个属性,请使用以下转换规则。例如,当应用以下转换规则时,将不在输出中返回 givenName


dpconf add-virtual-transformation dataview1 read remove-attr givenName

下图显示了用户条目在搜索中返回时发生的转换。

从输出中删除属性

保存条目时屏蔽属性

如果不希望存储某个特定的属性,请使用以下转换规则。例如,当应用以下转换规则时,将不在实际的数据库中存储 givenName 属性。仅当创建新条目时才应用此转换。


$ dpconf add-virtual-transformation dataview1 write remove-attr givenName

下图显示了执行添加请求时发生的转换。

保存条目时屏蔽属性

显示属性的默认值

如果要显示分配给属性的默认值,请使用以下转换。例如,当应用以下转换时,将在未包含自身电话号码的条目中显示默认电话号码。


$ dpconf add-virtual-transformation data-view read 11111 telephoneNumber default-number

下图显示了用户条目在搜索中返回时发生的转换。

显示属性的默认值

存储属性的默认值

仅当在创建条目的过程中未指定属性值时,才可为该属性存储默认值。如果要存储属性的默认值,请使用以下转换规则。例如,当应用以下转换时,将为您所创建的每个条目添加一个默认电话号码。仅当添加条目时才应用此转换。


$ dpconf add-virtual-transformation dataview1 write 11111 \
telephoneNumber telephone-number

下图显示了执行添加请求时发生的转换。

为属性添加默认值