#### Active Directory

此模块类型发挥的作用与 LDAP 验证模块类型相似，但使用的是 Microsoft Active Directory 而不是 LDAP 目录。使用该模块类型使得 LDAP 和 Active Directory 共存于同一领域成为可能。Active Directory 验证属性是领域属性。这些属性包括：

- 主 Active Directory 服务器

- 次 Active Directory 服务器

- 起始用户搜索的 DN

- Root 用户绑定的 DN

- Root 用户绑定密码

- Root 用户绑定密码（确认）

- 用于检索用户配置文件的属性

- 用于搜索要进行验证的用户的属性

- 用户搜索过滤器

- 搜索范围

- 对 Active Directory 服务器的 SSL 访问

- 返回用户 DN 以进行验证

- Active Directory 服务器检查间隔

- 用户创建属性

- 验证级别

##### 主 Active Directory 服务器

指定 OpenSSO 安装过程中所指定的主 Active Directory 服务器的主机名和端口号。这是进行 Active Directory 验证时要联系的首选服务器。格式为 ``hostname:port``。如果没有端口号，将采用 `389`。

如果在多个域部署 OpenSSO，则可按以下格式指定 OpenSSO 与 Directory Server 的特定实例之间的通信链接（如果指定了多个条目，则条目前必须带有本地服务器名称）：

`local_servername|server:port local_servername2|server2:port2 ...`

例如，如果将两个 OpenSSO 实例部署在不同位置（L1-machine1-IS 和 L2- machine2-IS），它们分别与 Directory Server 的不同实例（L1-machine1-DS 和 L2-machine2-DS）进行通信，则形式如下：

`L1-machine1-IS.example.com|L1-machine1-DS.example.com:389`

`L2-machine2-IS.example.com|L2-machine2-DS.example.com:389`

##### 次 Active Directory 服务器

指定 OpenSSO 平台可用的次 Active Directory 服务器的主机名和端口号。如果主 Active Directory 服务器未响应验证请求，该服务器会联系此服务器。如果主服务器恢复正常，OpenSSO 将切换回主服务器。格式仍为 ``hostname:port``。如果指定多个条目，条目前面必须带有本地服务器名称。

注意 – 当验证来自 Directory Server 的用户，并且 Directory Server 远离 OpenSSO 时，主 LDAP 服务器和次 LDAP 服务器的端口都需要具有值，这点很重要。两个字段可以使用一个 Directory Server 位置的值。

##### 起始用户搜索的 DN

指定节点的 DN，将从该 DN 开始搜索用户。（为了获取较好性能，DN 应当尽可能明确。）默认值是目录树的根。可以接受任何有效的 DN。如果在搜索范围属性中选择 OBJECT，则 DN 应指定配置文件所在级别的上一级。如果指定多个条目，条目前面必须带有本地服务器名称。格式为 ``servername|search dn``。

对于多个条目：

``servername1|search dn servername2|search dn servername3|search dn`...`

如果根组织下存在多个具有相同用户 ID 的条目，则要进行验证，应设置此参数以便仅能搜索或查找到一个条目。例如，当代理 ID 与用户 ID 均位于根组织下，该参数在根组织使用代理 ID 进行验证时应为 `ou=Agents`，根组织使用用户 ID 进行验证时则应为 `ou=People`。

##### Root 用户绑定的 DN

指定用户的 DN，该用户将作为管理员被绑定到“主 LDAP 服务器和端口”字段中指定的 Directory Server。验证服务需要进行该 DN 绑定，以便基于用户登录 ID 搜索匹配的用户 DN。默认值为 `amldapuser`。可以接受任何有效的 DN。

在注销之前，请确保密码正确。如果密码不正确，您将被锁定。如果出现这种情况，则可使用超级用户 DN 登录。默认情况下，尽管您会使用完整 DN 登录，但使用 `amAdmin` 帐户仍可正常登录。例如：

`uid_amAdmin,ou=People,`OpenSSO-base``

##### Root 用户绑定密码

指定在“Root 用户绑定的 DN”字段中指定的管理员配置文件的密码。该字段没有默认值。只接受管理员的有效 Active Directory 密码。

##### Root 用户绑定密码（确认）

确认密码。

##### 用于检索用户配置文件的属性

指定用户条目命名惯例的属性。默认情况下，OpenSSO 假定用户条目由 uid 属性标识。如果 Directory Server 使用了其他属性（如 givenname），请在该字段中指定属性名。

##### 用于搜索要进行验证的用户的属性

列出为即将验证的用户形成搜索过滤器时所要使用的属性，并允许用户使用用户条目中的多个属性进行验证。例如，如果该字段被设置为 uid、employeenumber 和 mail，则用户可使用这些名称中的任意一个来进行验证。

##### 用户搜索过滤器

指定一个属性，用于搜索“起始用户搜索的 DN”字段下的用户。它与“用户命名”属性共同发挥作用。该字段没有默认值。可以接受任何有效的用户条目属性。

##### 搜索范围

指明 Directory Server 中搜索匹配的用户配置文件时所用的级别号。从起始用户搜索的 DN 属性中指定的节点开始搜索。默认值为 SUBTREE。可以从列表中选择以下选项之一：

OBJECT

  仅搜索指定的节点。

ONELEVEL

  搜索指定节点一级及其下面一级。

SUBTREE

  搜索指定节点及以下的所有条目。

##### 对 Active Directory 服务器的 SSL 访问

启用 SSL 来访问“主/次服务器和端口”字段中指定的 Directory Server。默认情况下未选中该复选框，SSL 协议不用于访问 Directory Server。

如果 Active Directory 服务器已启用 SSL (LDAPS)，您必须确保 OpenSSO 已配置正确的 SSL 可信赖证书，以使 AM 可以通过 LDAPS 协议连接到 Directory Server。

##### 返回用户 DN 以进行验证

当 OpenSSO 目录与为 Active Directory 配置的目录相同时，可以启用该选项。如果启用该选项，Active Directory 验证模块实例将返回 DN，而不是用户 ID，并且不需要进行搜索。通常情况下，验证模块实例仅返回用户 ID，且验证服务会在本地 OpenSSO 实例中搜索用户。如果使用了外部 Active Directory，则通常不启用该选项。

##### Active Directory 服务器检查间隔

该属性用于 Active Directory 服务器故障恢复。它定义了在检验主 Active Directory 服务器是否正在运行之前，线程将“休眠”的分钟数。

##### 用户创建属性

当 Active Directory 服务器被配置为外部 Active Directory 服务器时，该属性用于 Active Directory 验证模块实例。它包含本地和外部 Directory Server 之间的属性映射。该属性具有以下格式：

attr1|externalattr1

attr2|externalattr2

填充该属性后，将从外部 Directory Server 读取外部属性的值，并将这些值应用到内部 Directory Server 属性。仅当`用户配置文件`属性（位于“核心验证”模块类型中）设置为“动态创建”，且本地 Directory Server 实例不存在该用户时，才在内部属性中设置外部属性的值。新创建的用户将包含内部属性的值（在“用户创建属性列表”中指定），内部属性采用其映射的外部属性的值。

##### 验证级别

各种验证方法都单独设置了验证级别。验证级别值表示信任验证机制的程度。用户进行验证之后，该值将存储在会话的 SSO 令牌中。当 SSO 令牌传递到用户要访问的应用程序时，应用程序将根据存储的值来确定级别是否足以授予用户访问权限。如果 SSO 令牌中存储的验证级别没有达到所需的最小级别，应用程序将提示用户使用具有较高验证级别的服务再次进行验证。默认值为 0。

注 – 如果未指定任何验证级别，则在核心验证属性默认验证级别中所指定的值将会存储到 SSO 令牌中。