IdentifierType 表示 virtual member manager 实体的标识。
IdentifierType 数据对象的结构由以下内容组成:
- uniqueName
- 具有用户友好性。它用于唯一标识 virtual member manager 中的实体。它格式是 LDAP 专有名称。专有名称是一个字符串,它包含 virtual member manager 中实体的位置,并且通过将实体的相对专有名称及其每个祖代(直至根)进行拼接而构成。例如,容器“cn=users,dc=yourco,dc=com”中个人的专有名称将为“uid=userA,cn=users,dc=yourco,dc=com”。
- uniqueId
- 具有机器友好性。它用于唯一标识 virtual member manager 中的实体。它是由 virtual member manager 或底层存储库生成的全局唯一标识。Virtual member manager 客户机应用程序不会解释 uniqueId 的内容。uniqueId 从不会发生更改,也不会被复用,因此,如果将某个实体进行重命名和移动,其 uniqueId 将保持不变。
- externalId
- 是对象的唯一标识,由存储库提供。例如,LDAP 存储库中对象的 externalId 是该对象的 UUID。Virtual member manager SPI 使用 externalId 与存储库适配器进行交互。
- externalName
- 是对象的唯一名称,由存储库提供。例如,LDAP 存储库中对象的 externalName 是该对象的专有名称 (DN)。应用程序通过 API 来使用 externalName。
- repositoryId
- 是作为存储库的 virtual member manager 配置的一部分而分配到存储库的标识。应用程序通过 API 来使用 repositoryId。repositoryId 连同 externalId 由 virtual member manager 用于将属性扩展存储库中存储的数据关联到主存储库中同一对象的数据。
- changeType
- 是一个可选属性,设置此属性只是为了响应对已更改实体的搜索。它描述发生的更改类型,更改类型包括:添加新实体、修改现有实体、删除实体或重命名实体。changeType 属性的有效值和字符串常量为 add(对于 CHANGETYPE_ADD)、delete(对于 CHANGETYPE_DELETE)、modify(对于 CHANGETYPE_MODIFY)和 rename(对于 CHANGETYPE_RENAME)。
注: Virtual member manager 调用者仅需要使用 uniqueName 和 uniqueId 属性。
XML 模式定义
以下是 IdentifierType 数据对象的 XML 模式定义:
<xsd:complexType name="IdentifierType">
<xsd:attribute name="uniqueId" type="xsd:token"/>
<xsd:attribute name="uniqueName" type="xsd:token"/>
<xsd:attribute name="externalId" type="xsd:token"/>
<xsd:attribute name="externalName" type="xsd:token"/>
<xsd:attribute name="repositoryId" type="xsd:token"/>
</xsd:complexType>
样本数据对象
以下是一个样本 IdentifierType 数据对象,包含一个 uniqueID 和一个 uniqueName:
<wim:identifier uniqueId="afdbaa77-2160-4c26-b899-11fa366595ac"
uniqueName="uid=persona,cn=users,dc=yourco,dc=com"/>