Virtual member manager 公共域模型提供了 virtual member manager 应用程序管理组织实体所需的基本概念。
尽管 virtual member manager 提供了公共模型,但该公共模型中有以下灵活性:
- 不必使用整个模型。应用程序可以仅使用模型的一部分。
- 当模型部署在客户环境中时,可以对该模型进行扩展。
- 在模型本身内部,对于特定概念的表示方式也有一定的灵活性。
- Entity(实体)
- 实体表示由 virtual member manager 管理的组织实体。每个组织实体都与一个 Identifier 相关联。
- Identifier(标识)
- Virtual member manager Identifier 包含由 virtual member manager 定义的两个标识:一个是 virtual member manager uniqueId,另一个是 virtual member manager uniqueName。uniqueId 是全局唯一的静态标识,并且决不会复用。uniqueName 在 virtual member manager 某个实例作用域内唯一,可以更改和复用。uniqueName 对于 virtual member manager 的某些部署可能全局唯一,但并不能保证唯一。组织实体存储在存储库中,repositoryId 也可从标识中获得。另外还可能从该实体获得特定于存储库的 externalName 和 externalId。
以存储在 LDAP 服务器中的实体为例:
- 实体的 virtual member manager uniqueName 是 virtual member manager 中条目的映射 DN。
- 实体的 virtual member manager uniqueId 可以是 UUID(可由 virtual member manager 生成或来自 LDAP 服务器)。
- 实体的 RepositoryId 是标识 virtual member manager 实例中存储库的字符串名称。该字符串名称必须在该 virtual member manager 实例中的所有存储库名称中唯一。
- 实体的 externalName 可以是该实体的 LDAP DN。
- 实体的 externalId 可以是 LDAP 上该实体的 UUID。
组织实体可能有其他标识,这些标识可以是真实标识,如某人的社会保险号或驾驶执照号。所有这些其他标识都将视为组织实体的属性。
- Group(组)
- 组是可能没有任何关系上下文的多个实体的简单集合。尽管在某些模型中,组被视为组织的子类,但 virtual member manager 将组建模为不同的实体,以便更好地与其他现有产品保持一致,例如在 LDAP 中,组与组织截然不同。
- GroupMembership Association(组成员资格关联)
- 组成员资格关联将组与其成员相关联,并将实体与实体所属的组相关联。
- OrgContainer
- OrgContainer 表示组织(如公司、企业或子公司)或组织单元(例如分公司、位置或部门)。o 和 ou 属性可用于区分实体是组织还是组织单元。
- GeographicLocation(地理位置)
- 地理位置表示真实世界中的位置。位置可以是国家或地区、地理区域或地点等。
- Repository(存储库)
- 存储库表示在 virtual member manager 下配置的数据存储库(例如,LDAP 服务器、数据库或文件)。可通过将存储库中的组织实体集合到不同的领域中,来限定其作用域。例如,如果将 LDAP 服务器作为存储库,那么可将该 LDAP 服务器中的不同子树视为不同的领域。请注意,有多种不同方法可限定实体作用域或针对不同用途将实体集合在一起。Virtual member manager 通过提供领域构造,对作用域限定提供现成支持。其他作用域限定方法可由应用程序在 virtual member manager 的基础上进行构建。
- Realm(领域)
- 领域表示组织实体的作用域限定,尤其是针对安全组成员资格的认证和检索用途。应用程序使用领域来为 virtual member manager 指定该应用程序希望使用的组织实体的集合。
- Person(个人)
- 个人表示一个人。
- Login account(登录帐户)
- 登录帐户表示系统中的帐户。个人或应用程序可用帐户登录到系统中,以便使用系统提供的服务。登录帐户中的信息包括可用于登录的名称、一个或多个密码等。
注: 在 virtual member manager 提供现成支持的大多数 LDAP 部署和操作系统中,个人及其登录帐户都合并为一个实体(例如 LDAP inetOrgPerson)。为支持这些环境,virtual member manager 使用 PersonAccount 作为 LoginAccount 的子类型或扩展。PersonAccount 是包含个人信息的登录帐户。
- PersonAccount(个人帐户)
- PersonAccount 表示具有个人属性的 LoginAccount。当使用该帐户的实体为个人时(相对于应用程序),它等效于用户概念。Virtual member manager 中的 PersonAccount 专用于支持将个人与帐户信息组合在一起的存储库中的用户条目。
- Subtypes for a login account(登录帐户的子类型)
- 子类型表示各种系统上的实际登录帐户。
- Container(容器)
- 容器表示 virtual member manager 层次结构中用于包含 virtual member manager 实体的通用容器对象。容器类也包含在其中,以用于与 LDAP 目录集成。
- Virtual member manager hierarchy association(Virtual member manager 层次结构关联)
- Virtual member manager 层次结构在某种程度上反映了底层存储库中组织实体的逻辑位置。它将 virtual member manager 管理的实体组织为分层结构,并创建了一个分层名称空间,virtual member manager 使用该名称空间为实体分配唯一名称。当 virtual member manager 同时使用多个存储库时,virtual member manager 会在多个存储库间划分层次结构(即划分名称空间)。