Sun Java logo     上一页      目录      索引      下一页     

Sun logo
Sun Java System Access Manager 6 2005Q1 管理指南 

第 6 章
管理验证

验证服务为 Access Manager 部署中安装的所有即装即用验证模块提供基于 Web 的用户界面。此界面在用户请求访问时显示登录要求屏幕,为收集验证证书提供动态和可自定义的方法。它使用 Sun Java System 应用程序框架(有时称作 JATO)创建,该框架是一个用来帮助开发者创建功能性 Web 应用程序的 Java 2 Enterprise Edition (J2EE) 演示框架。


用户界面登录 URL

在 Web 浏览器的地址栏输入登录 URL 可访问“验证服务”用户界面。此 URL 是:

http://identity_server_host.domain_name:port/service_deploy_uri/UI/Login


在安装过程中,service_deploy_uri 配置为 amserver。此默认服务部署 URI 将在本文档的全文中使用。


用户界面登录 URL 也可以附加登录 URL 参数来定义特定的验证方法或成功/失败的验证重定向 URL。有关重定向 URL 的其他信息,参见验证类型

登录 URL 参数

URL 参数是附加在 URL 末尾的名称/值对。该参数以问号 (?) 开始,采用 name=value 的形式。一个登录 URL 可以组合多个参数,例如:

http://server_name.domain_name:port/amserver/UI/Login?module=LDAP&locale=ja&goto=http://www.sun.com

如果存在多个参数,中间用与号 (&) 分隔。但组合必须遵守以下指导:

以下几节描述各参数,这些参数在附加至用户界面登录 URL 并键入 Web 浏览器的地址栏时,可获取不同的验证功能。


提示  

为简化在整个组织中分发验证 URL 和参数,管理员可能会用简单的 URL 配置 HTML 页,该页面可链接到更复杂的登录 URL 以获取配置的所有验证方法。


goto 参数

goto=successful_authentication_URL 参数覆盖“验证配置”服务的“登录成功 URL”中定义的值。当获取成功的验证时,它将链接到指定的 URL。goto=logout_URL 参数也可用于在用户注销时链接到指定的 URL。以一个成功的验证 URL 为例:

http://server_name.domain_name:port/amserver/UI/Login?goto=http://www.sun.com/homepage.html

goto 注销 URL 示例:

http://server_name.domain_name:port/amserver/UI/Logout?goto=http://www.sun.com/logout.html。


Access Manager 按优先顺序查找成功的验证重定向 URL。这些重定向 URL 及其顺序取决于验证方法,此顺序及相关信息在验证类型中详述。


gotoOnFail 参数

gotoOnFail=failed_authentication_URL 参数覆盖“验证配置”服务的“登录失败 URL”中定义的值。如果用户有失败的验证,它将链接到指定的 URL。gotoOnFail URL 示例可能是 http://server_name.domain_name:port/amserver/UI/Login?gotoOnFail=http://www.sun.com/auth_fail.html


Access Manager 按优先顺序查找失败的验证重定向 URL。这些重定向 URL 及其顺序取决于验证方法,此顺序及相关信息在验证类型中详述。


org 参数

org=orgName 参数可让用户作为指定组织中的用户进行验证。


提示  

尚未成为指定组织成员的用户如果试图用 org 参数验证,会收到一则错误消息。如果以下所有条件均成立,可在 Directory Server 中动态创建用户配置文件:

  • 核心验证服务中的“用户配置文件”属性必须设置为Dynamic Dynamic with User Alias
  • 用户必须成功地验证必需的模块。
  • 用户在 Directory Server 中还没有配置文件。

使用此参数,将会显示正确的登录页面(基于组织及其语言环境设置)。如果未设置此参数,默认值是顶层组织。例如,org URL 可能是:

http://server_name.domain_name:port/amserver/UI/Login?org=sun

user 参数

user=userName 参数强制验证基于在用户配置文件的“用户验证配置”属性中配置的模块。例如,某个用户的配置文件可能配置为使用证书模块验证,而另一个用户可能配置为使用 LDAP 模块验证。添加此参数会将用户发送到其配置的验证进程而非为其组织配置的方法。例如:

http://server_name.domain_name:port/amserver/UI/Login?user=jsmith

role 参数

role=roleName 参数发送用户到为指定角色配置的验证进程。尚未成为指定角色成员的用户如果试图用此参数验证,会收到一则错误消息。例如:

http://server_name.domain_name:port/amserver/UI/Login?role=manager

locale 参数

Access Manager 可为验证进程以及控制台本身显示本地化屏幕(翻译成英语以外的语言)。locale=localeName 参数可让指定的语言环境优先于任何其他定义的语言环境。在以下位置按特定顺序搜索配置之后,客户机会显示登录语言环境:

  1. 登录 URL 中 locale 参数的值
  2. locale=localeName 参数的值优先于所有其他定义的语言环境。

  3. 用户配置文件中定义的语言环境
  4. 如果没有 URL 参数,会根据用户配置文件中“用户首选语言”属性的设置值显示语言环境。

  5. HTTP 标题中定义的语言环境
  6. 此语言环境由 Web 浏览器设置。

  7. 核心验证服务中定义的语言环境
  8. 这是核心验证模块中“默认验证语言环境”属性的值。

  9. 平台服务中定义的语言环境
  10. 这是平台服务中“平台语言环境”属性的值。

  11. 操作系统语言环境

来源于此啄序的语言环境存储在用户的会话标记中,Access Manager 用它来仅装入本地化的验证模块。在成功验证之后,使用用户配置文件中“用户首选语言”属性定义的语言环境。如果没有设置,将继续使用验证所用的语言环境。例如:

http://server_name.domain_name:port/amserver/UI/Login?locale=ja。


有关如何本地化屏幕文本和错误消息的信息,参见 Access Manager Developer’s Guide


module 参数

module=moduleName 参数允许通过指定的验证模块进行验证。虽然可以指定任何模块,但必须先向用户所属的组织注册,并将其选为核心验证模块中组织的验证模块之一。例如:

http://server_name.domain_name:port/amserver/UI/Login?module=Unix


验证模块名称用在 URL 参数中时区分大小写。


service 参数

service=serviceName 参数允许用户通过服务配置的验证方案进行验证。可以使用验证配置服务为不同的服务配置不同的验证方案。例如,联机薪金应用程序可能需要使用较安全的证书验证模块验证,而组织的员工目录应用程序可能只需要 LDAP 验证模块。可以为其中每项服务配置、命名验证方案。例如:

http://server_name.domain_name:port/amserver/UI/Login?service=sv1


验证配置服务用于定义基于服务的验证方案。


arg 参数

arg=newsession 参数用于结束用户的当前会话,并开始一个新会话。验证服务将损坏用户的现有会话标记,执行一个请求的新登录。此选项通常用在匿名验证模块中。用户先使用匿名会话验证,然后点击注册或登录链接。例如:

http://server_name.domain_name:port/amserver/UI/Login?arg=newsession

authlevel 参数

authlevel=value 参数告知验证服务调用验证级别等于或大于指定验证级别值的模块。每个验证模块都用固定的整数验证级别定义。例如:

http://server_name.domain_name:port/amserver/UI/Login?authlevel=1


验证级别在每个模块的特定配置文件中设置。有关此模块的详细信息,参见 Sun Java System Access Manager 管理指南


domain 参数

此参数允许用户登录到标识为指定域的组织。指定域必须与组织配置文件中“域名”属性的定义值一致。例如:

http://server_name.domain_name:port/amserver/UI/Login?domain=sun.com


提示  

尚未成为指定域/组织成员的用户如果试图用 org 参数验证,会收到一则错误消息。如果以下所有条件均成立,可在 Directory Server 中动态创建用户配置文件:

  • 核心验证服务中的“用户配置文件”属性必须设置为 Dynamic Dynamic With User Alias
  • 用户必须成功地验证必需的模块。
  • 用户在 Directory Server 中还没有配置文件。

iPSPCookie 参数

iPSPCookie=yes 参数允许用户用持久 Cookie 登录。持久 Cookie 是浏览器窗口关闭后继续存在的 Cookie。要使用此参数,用户所登录的组织必须在其核心验证模块中启用“持久 Cookie”。在用户验证并且浏览器关闭之后,用户可以通过新的浏览器会话登录,将定向至控制台,而无需重新验证。这将一直有效,直到核心服务中指定的“持久 Cookie 最长时间”到期为止。例如:

http://server_name.domain_name:port/amserver/UI/Login?org=example&iPSPCookie=yes

IDTokenN 参数

此参数选项允许用户以 URL 或 HTML 形式传送验证证书。利用 IDTokenN=value 参数,无需访问验证服务用户界面也可验证用户。此进程称为零页面登录。零页面登录仅适用于使用一个登录页面的验证模块。IDToken0、IDToken1、...、IDTokenN 的值映射到验证模块登录页面上的字段。例如,LDAP 验证模块可能使用 IDToken1 表示 userID 信息,使用 IDToken2 表示密码信息。在这种情况下,LDAP 模块 IDTokenN URL 是:

http://server_name.domain_name:port/amserver/UI/Login?module=LDAP&IDToken1=userID&IDToken2=password

(如果 LDAP 是默认的验证模块,可以省略 module=LDAP。)

对于匿名验证,登录 URL 参数是:

http://server_name.domain_name:port/amserver/UI/Login?module=Anonymous&IDToken1=anonymousUserID


令牌名称 Login.Token0Login.Token1...Login.TokenN(来自先前的版本)仍受支持,但在以后的版本中将不再受支持。建议使用新的 IDTokenN 参数。



验证类型

验证服务提供不同的验证方法。这些不同的验证方法可以通过指定登录 URL 参数或通过验证编程接口来访问。在能够配置验证模块之前,必须先修改核心验证服务属性“组织验证模块”以包含特定的验证模块名称。

验证配置服务用于定义以下任一验证类型的验证模块:

为其中一种验证类型定义了验证模块后,可以基于成功的或失败的验证进程配置该模块以提供重定向 URL 以及后处理 Java 类规范。

验证类型如何确定访问

对于每种方法,用户验证都可能通过或失败。一旦确定,每种方法都遵守以下过程。步骤 1 到步骤 3 接着成功的验证执行;步骤 4 接着成功或失败的验证执行。

  1. Access Manager 确认验证的用户是否在 Directory Server 数据存储库中定义,以及配置文件是否为活动的。
  2. 核心验证模块中的“用户配置文件”属性可以定义为必需动态、随用户别名动态变换忽略。在成功的验证之后,Access Manager 确认验证的用户是否在 Directory Server 数据存储库中定义,如果“用户配置文件”值为 Required,则确认用户配置文件是否为活动的。(这是默认情况。)如果“用户配置文件”是 Dynamically Configured验证服务将在 Directory Server 数据存储库中创建用户配置文件。如果“用户配置文件”设置为 Ignore,则用户验证将不会完成。

  3. 完成验证后期处理 SPI 的执行。
  4. 核心验证模块包含“验证后期处理类”属性,该属性可能将验证后期处理类名作为其值。AMPostAuthProcessInterface 是后期处理界面。它可以在验证成功、验证失败或注销后执行。

  5. 以下属性会添加或更新,会话标记和用户会话会激活。
  6. Organization这是用户所属组织的 DN。

    Principal这是用户的 DN。

    Principals这是用户已经验证的名称列表。(此属性可能有多个值定义为管道分隔列表。)

    UserId这是模块返回的用户 DN,如果模块不是 LDAP 或“成员资格”,则为用户名。(所有“负责人”必须映射到同一用户。UserID 是它们映射到的用户 DN。)


    此属性可能是非 DN 值。


    UserToken这是用户名。(所有“负责人”必须映射到同一用户。UserToken 是它们映射到的用户名。)

    Host这是客户机的主机名或 IP 地址。

    authLevel这是用户已经验证的最高级别。

    AuthType。这是用户已经验证的验证模块的管道分隔列表(例如 module1|module2|module3)

    clientType这是客户机浏览器的设备类型。

    Locale这是客户机的语言环境。

    CharSet这是客户机的确定字符集。

    Role仅适用于基于角色的验证,这是用户所属的角色。

    Service仅适用于基于服务的验证,这是用户所属的服务。

    loginURL这是客户机的登录 URL。

  7. Access Manager 在验证成功或失败后会在该 URL 中查找信息,以重定向用户。
  8. URL 重定向可以定向至一个 Access Manager 页面或 URL。重定向取决于 Access Manager 根据验证方法查找重定向的优先顺序,以及验证是成功还是失败。此顺序在以下验证方法章节的 URL 重定向部分有详细描述。

URL 重定向

在验证配置服务中,您可以指定 URL 重定向以进行成功的或不成功的验证。而 URL 本身是在该服务的“登录成功 URL”和“登录失败 URL”属性中进行定义的。为了启用 URL 重定向,必须将验证配置服务添加到您的组织中,以便可以为角色、组织或用户进行配置。添加验证配置服务时,请确保添加一个验证模块,例如 LDAP - REQUIRED。有关更多信息,参见验证配置

基于组织的验证

此验证方法允许用户向组织或子组织验证。这是 Access Manager 的默认验证方法。组织的验证方法通过向组织注册核心验证模块和定义“组织验证配置”属性来设置。

基于组织的验证登录 URL

可以通过定义 org 参数或 domain 参数在“用户界面登录 URL”中指定验证的组织。请求验证的组织按优先顺序由以下值确定:

  1. domain 参数。
  2. org 参数。
  3. 管理服务中 DNS Alias Names(组织别名)属性的值。

在调用正确的组织后,可以通过核心验证服务中的“组织验证配置”属性获取将验证用户的验证模块。用于指定和启动基于组织的验证的登录 URL 是:

http://server_name.domain_name:port/amserver/UI/Login

http://server_name.domain_name:port/amserver/UI/Login?domain=domain_name

http://server_name.domain_name:port/amserver/UI/Login?org=org_name

如果没有定义的参数,组织将由登录 URL 中指定的服务器主机和域确定。

基于组织的验证重定向 URL

在基于组织的验证成功或失败后,Access Manager 会查找信息以重定向用户。下面是应用程序查找这些信息的优先顺序。

成功的基于组织的验证重定向 URL

成功的基于组织的验证重定向 URL 通过按优先顺序检查以下位置来确定:

  1. 验证模块设置的 URL。
  2. goto 登录 URL 参数设置的 URL。
  3. clientType 自定义文件中为用户配置文件 (amUser.xml)iplanet-am-user-success-url 属性设置的 URL。
  4. clientType 自定义文件中为用户角色条目的 iplanet-am-auth-login-success-url 属性设置的 URL。
  5. clientType 自定义文件中为用户组织条目的 iplanet-am-auth-login-success-url 属性设置的 URL。
  6. clientType 自定义文件中为作为全局默认值的 iplanet-am-auth-login-success-url 属性设置的 URL。
  7. 在用户配置文件 (amUser.xml) 的 iplanet-am-user-success-url 属性中设置的 URL。
  8. 在用户角色条目的 iplanet-am-auth-login-success-url 属性中设置的 URL。
  9. 在用户组织条目的 iplanet-am-auth-login-success-url 属性中设置的 URL。
  10. 在作为全局默认值的 iplanet-am-auth-login-success-url 属性中设置的 URL。
失败的基于组织的验证重定向 URL

失败的基于组织的验证重定向 URL 通过按以下顺序检查以下位置来确定:

  1. 验证模块设置的 URL。
  2. gotoOnFail 登录 URL 参数设置的 URL。
  3. clientType 自定义文件中为用户条目 (amUser.xml) 的 iplanet-am-user-failure-url 属性设置的 URL。
  4. clientType 自定义文件中为用户角色条目的 iplanet-am-auth-login-failure-url 属性设置的 URL。
  5. clientType 自定义文件中为用户组织条目的 iplanet-am-auth-login-failure-url 属性设置的 URL。
  6. clientType 自定义文件中为作为全局默认值的 iplanet-am-auth-login-failure-url 属性设置的 URL。
  7. 在用户条目 (amUser.xml) 的 iplanet-am-user-failure-url 属性中设置的 URL。
  8. 在用户角色条目的 iplanet-am-auth-login-failure-url 属性中设置的 URL。
  9. 在用户组织条目的 iplanet-am-auth-login-failure-url 属性中设置的 URL。
  10. 在作为全局默认值的 iplanet-am-auth-login-failure-url 属性中设置的 URL。

配置基于组织的验证

组织的验证模块是在首次将核心验证服务添加到该组织时设置的。

要配置组织的验证属性,请执行以下操作:

  1. 找到您将为其配置验证属性的组织。
  2. 从“查看”菜单中选择“服务”。
  3. 在服务列表中单击核心属性箭头。
  4. “数据”窗格中将显示核心验证属性。

  5. 单击“管理员验证”属性旁边的“编辑”。此操作只允许您为管理员定义验证服务。如果需要将管理员的验证模块与最终用户的验证模块区别开来,则可以使用该属性。默认验证模块为 LDAP。
  6. 定义了验证服务之后,请单击“保存”以保存所作的更改,然后单击“关闭”返回组织的核心验证属性。

  7. 单击“组织验证配置”属性旁边的“编辑”链接。此操作允许您为组织中的所有用户定义验证模块。默认验证模块为 LDAP。
  8. 定义了验证服务之后,请单击“保存”以保存所作的更改,然后单击“关闭”返回组织的核心验证属性。

基于角色的验证

此验证方法允许用户向组织或子组织内的角色(静态或过滤)验证。


必须先向组织注册验证配置服务,然后才可将其作为实例向角色注册。


验证要想成功,用户必须属于该角色,并且必须向为该角色配置的验证配置服务实例中定义的每个模块验证。对于每个基于角色的验证实例,可以指定以下属性:

冲突解决级别这可为可能包含相同用户的两个不同角色定义的验证配置服务实例设置优先级级别。例如,如果 User1 被同时指定给 Role1Role2,则可为 Role1 设置更高的冲突解决级别,这样,当用户尝试验证时,Role1 将对成功或失败重定向以及验证后处理拥有较高的优先级。

验证配置。这可定义为角色验证进程配置的验证模块。

登录成功 URL。这可定义在验证成功后用户被重定向到的 URL。

登录失败 URL。这可定义在验证失败后用户被重定向到的 URL。

验证后期处理类。这可定义验证后期界面。

基于角色的验证登录 URL

可以通过定义 role 参数在“用户界面登录 URL”中指定基于角色的验证。在调用正确的角色后,可以通过为角色定义的“验证配置服务”实例获取将验证用户的验证模块。

用于指定和启动基于角色的验证的登录 URL 是:

http://server_name.domain_name:port/amserver/UI/Login?role=role_name

http://server_name.domain_name:port/amserver/UI/Login?org=org_name&role=role_name

如果未配置 org 参数,角色所属的组织通过在登录 URL 中指定的服务器主机和域来确定。

基于角色的验证重定向 URL

在基于角色的验证成功或失败后,Access Manager 会查找信息以重定向用户。下面是应用程序查找这些信息的优先顺序。

成功的基于角色的验证重定向 URL

成功的基于角色的验证重定向 URL 通过按以下顺序检查以下位置来确定:

  1. 验证模块设置的 URL。
  2. goto 登录 URL 参数设置的 URL。
  3. clientType 自定义文件中为用户配置文件 (amUser.xml) 的 iplanet-am-user-success-url 属性设置的 URL。
  4. clientType 自定义文件中为验证用户的角色的 iplanet-am-auth-login-success-url 属性设置的 URL。
  5. clientType 自定义文件中为验证用户的另一个角色条目的 iplanet-am-auth-login-success-url 属性设置的 URL。(如果以前的重定向 URL 失败,此选项是一个替代方法。)
  6. clientType 自定义文件中为用户组织条目的 iplanet-am-auth-login-success-url 属性设置的 URL。
  7. clientType 自定义文件中为作为全局默认值的 iplanet-am-auth-login-success-url 属性设置的 URL。
  8. 在用户配置文件 (amUser.xml) 的 iplanet-am-user-success-url 属性中设置的 URL。
  9. 在验证用户的角色的 iplanet-am-auth-login-success-url 属性中设置的 URL。
  10. 在验证用户的另一个角色条目的 iplanet-am-auth-login-success-url 属性中设置的 URL。(如果以前的重定向 URL 失败,此选项是一个替代方法。)
  11. 在用户组织条目的 iplanet-am-auth-login-success-url 属性中设置的 URL。
  12. 在作为全局默认值的 iplanet-am-auth-login-success-url 属性中设置的 URL。
失败的基于角色的验证重定向 URL

失败的基于角色的验证重定向 URL 通过按以下顺序检查以下位置来确定:

  1. 验证模块设置的 URL。
  2. goto 登录 URL 参数设置的 URL。
  3. clientType 自定义文件中为用户配置文件 (amUser.xml) 的 iplanet-am-user-failure-url 属性设置的 URL。
  4. clientType 自定义文件中为验证用户的角色的 iplanet-am-auth-login-failure-url 属性设置的 URL。
  5. clientType 自定义文件中为验证用户的另一个角色条目的 iplanet-am-auth-login-failure-url 属性设置的 URL。(如果以前的重定向 URL 失败,此选项是一个替代方法。)
  6. clientType 自定义文件中为用户组织条目的 iplanet-am-auth-login-failure-url 属性设置的 URL。
  7. clientType 自定义文件中为作为全局默认值的 iplanet-am-auth-login-failure-url 属性设置的 URL。
  8. 在用户配置文件 (amUser.xml) iplanet-am-user-failure-url 属性中设置的 URL。
  9. 在验证用户的角色的 iplanet-am-auth-login-failure-url 属性中设置的 URL。
  10. 在验证用户的另一个角色条目的 iplanet-am-auth-login-failure-url 属性中设置的 URL。(如果以前的重定向 URL 失败,此选项是一个替代方法。)
  11. 在用户组织条目的 iplanet-am-auth-login-failure-url 属性中设置的 URL。
  12. 在作为全局默认值的 iplanet-am-auth-login-failure-url 属性中设置的 URL。

配置基于角色的验证

角色的验证模块是在角色级别添加了验证配置服务之后设置的。

  1. 找到您将为其配置验证属性的组织。
  2. 从“查看”菜单中选择“角色”。
  3. 选择要为其设置验证配置的角色并单击属性箭头。
  4. “数据”窗格中将显示角色的属性。

  5. 从“数据”窗格的“查看”菜单中选择“服务”。
  6. 根据需要修改验证配置属性。您可以在第 33 章“验证配置服务属性”中,或通过单击控制台右上角的“帮助”链接找到有关这些属性的说明。
  7. 单击“保存”。

  8. 如果要创建新角色,验证配置服务将不会自动指定给该角色。请确保在创建新角色之前先选择“角色配置文件”页面顶部的“验证配置服务”选项。

    如果启用了基于角色的验证,可以将 LDAP 验证模块保留为默认设置,因为不需要配置成员资格。


基于服务的验证

此验证方法允许用户向在组织或子组织中注册的特定服务或应用程序验证。服务在验证配置服务内配置成“服务实例”,并且与“实例名称”关联。验证要想成功,用户必须验证在为服务配置的验证配置服务实例中定义的每个模块。对于每个基于服务的验证实例,可以指定以下属性:

验证配置。这可定义为服务验证进程配置的验证模块。

登录成功 URL。这可定义在验证成功后用户被重定向到的 URL。

登录失败 URL。这可定义在验证失败后用户被重定向到的 URL。

验证后期处理类。这可定义验证后期界面。

基于服务的验证登录 URL

可以通过定义 service 参数在“用户界面登录 URL”中指定基于服务的验证。在调用服务后,可以通过为服务定义的“验证配置服务”实例获取将验证用户的验证模块。

用于指定和启动基于服务的验证的登录 URL 是:

http://server_name.domain_name:port/amserver/UI/Login?service=service_name

http://server_name.domain_name:port/amserver/UI/Login?org=org_name&service=service_name

如果没有配置的 org 参数,组织将由登录 URL 中指定的服务器主机和域确定。

基于服务的验证重定向 URL

在基于服务的验证成功或失败后,Access Manager 会查找信息以重定向用户。下面是应用程序查找这些信息的优先顺序。

成功的基于服务的验证重定向 URL

成功的基于服务的验证重定向 URL 通过按以下顺序检查以下位置来确定:

  1. 验证模块设置的 URL。
  2. goto 登录 URL 参数设置的 URL。
  3. clientType 自定义文件中为用户配置文件 (amUser.xml)iplanet-am-user-success-url 属性设置的 URL。
  4. clientType 自定义文件中为验证用户的服务的 iplanet-am-auth-login-success-url 属性设置的 URL。
  5. clientType 自定义文件中为用户角色条目的 iplanet-am-auth-login-success-url 属性设置的 URL。
  6. clientType 自定义文件中为用户组织条目的 iplanet-am-auth-login-success-url 属性设置的 URL。
  7. clientType 自定义文件中为作为全局默认值的 iplanet-am-auth-login-success-url 属性设置的 URL。
  8. 在用户配置文件 (amUser.xml) 的 iplanet-am-user-success-url 属性中设置的 URL。
  9. 在验证用户的服务的 iplanet-am-auth-login-success-url 属性中设置的 URL。
  10. 在用户角色条目的 iplanet-am-auth-login-success-url 属性中设置的 URL。
  11. 在用户组织条目的 iplanet-am-auth-login-success-url 属性中设置的 URL。
  12. 在作为全局默认值的 iplanet-am-auth-login-success-url 属性中设置的 URL。
失败的基于服务的验证重定向 URL

失败的基于服务的验证重定向 URL 通过按以下顺序检查以下位置来确定:

  1. 验证模块设置的 URL。
  2. goto 登录 URL 参数设置的 URL。
  3. clientType 自定义文件中为用户配置文件 (amUser.xml) 的 iplanet-am-user-failure-url 属性设置的 URL。
  4. clientType 自定义文件中为验证用户的服务的 iplanet-am-auth-login-failure-url 属性设置的 URL。
  5. clientType 自定义文件中为用户角色条目的 iplanet-am-auth-login-failure-url 属性设置的 URL。
  6. clientType 自定义文件中为用户组织条目的 iplanet-am-auth-login-failure-url 属性设置的 URL。
  7. clientType 自定义文件中为作为全局默认值的 iplanet-am-auth-login-failure-url 属性设置的 URL。
  8. 在用户配置文件 (amUser.xml) 的 iplanet-am-user-failure-url 属性中设置的 URL。
  9. 在验证用户的服务的 iplanet-am-auth-login-failure-url 属性中设置的 URL。
  10. 在用户角色条目的 iplanet-am-auth-login-failure-url 属性中设置的 URL。
  11. 在用户组织条目的 iplanet-am-auth-login-failure-url 属性中设置的 URL。
  12. 在作为全局默认值的 iplanet-am-auth-login-failure-url 属性中设置的 URL。

配置基于服务的验证

服务的验证模块是在添加了验证配置服务之后设置的。为此,请执行以下步骤:

  1. 从“身份认证管理”模块的“查看”菜单中选择“服务”。
  2. 将显示已添加服务的列表。如果未添加验证配置服务,请继续执行以下步骤。如果已添加了该服务,请跳到步骤 4。

  3. 在“浏览”窗格中单击“添加”。
  4. “数据”窗格中将显示可用服务的列表。

  5. 选中验证配置的复选框并单击“添加”。
  6. 验证配置服务将显示在“浏览”窗格中,向管理员证实已添加了该服务。

  7. 单击验证配置属性箭头。
  8. “数据”窗格中将显示“服务实例列表”。

  9. 单击要为其配置验证模块的服务实例。
  10. 修改验证配置属性并单击“保存”。您可以在第 33 章“验证配置服务属性”中,或通过单击控制台右上角的“帮助”链接找到有关这些属性的说明。

基于用户的验证

此验证方法允许用户用专门为其配置的验证进程验证。该进程在用户配置文件中配置为“用户验证配置”属性的值。验证要想成功,用户必须向定义的每个模块验证。

基于用户的验证登录 URL

可以通过定义 user 参数在“用户界面登录 URL”中指定基于用户的验证。在调用正确的用户后,可以通过为用户定义的“验证配置服务”实例获取将验证用户的验证模块。

用于指定和启动基于角色的验证的登录 URL 是:

http://server_name.domain_name:port/amserver/UI/Login?user=user_name

http://server_name.domain_name:port/amserver/UI/Login?org=org_name&user=user_name

如果未配置 org 参数,角色所属的组织通过在登录 URL 中指定的服务器主机和域来确定。

用户别名列表属性

在收到基于用户的验证请求时,验证服务会先验证用户是否为有效的用户,然后为其检索验证配置数据。如果有多个与用户登录 URL 参数值关联的有效用户配置文件,则所有配置文件都必须映射到指定的用户。可以在用户配置文件的用户别名属性 (iplanet-am-user-alias-list) 中指定属于该用户的其他配置文件。如果映射失败,会拒绝给该用户有效的会话。例外情况是:其中一个用户是顶层管理员,因此没有完成用户映射验证,并且为该用户指定了“超级管理员”权限。

基于用户的验证重定向 URL

在基于用户的验证成功或失败后,Access Manager 会查找信息以重定向用户。下面是应用程序查找这些信息的优先顺序。

成功的基于用户的验证重定向 URL

成功的基于用户的验证重定向 URL 通过按优先顺序检查以下位置来确定:

  1. 验证模块设置的 URL。
  2. goto 登录 URL 参数设置的 URL。
  3. clientType 自定义文件中为用户配置文件 (amUser.xml)iplanet-am-user-success-url 属性设置的 URL。
  4. clientType 自定义文件中为用户角色条目的 iplanet-am-auth-login-success-url 属性设置的 URL。
  5. clientType 自定义文件中为用户组织条目的 iplanet-am-auth-login-success-url 属性设置的 URL。
  6. clientType 自定义文件中为作为全局默认值的 iplanet-am-auth-login-success-url 属性设置的 URL。
  7. 在用户配置文件 (amUser.xml) 的 iplanet-am-user-success-url 属性中设置的 URL。
  8. 在用户角色条目的 iplanet-am-auth-login-success-url 属性中设置的 URL。
  9. 在用户组织条目的 iplanet-am-auth-login-success-url 属性中设置的 URL。
  10. 在作为全局默认值的 iplanet-am-auth-login-success-url 属性中设置的 URL。
失败的基于用户的验证重定向 URL

失败的基于用户的验证重定向 URL 通过按以下顺序检查以下位置来确定:

  1. 验证模块设置的 URL。
  2. gotoOnFail 登录 URL 参数设置的 URL。
  3. clientType 自定义文件中为用户条目 (amUser.xml) 的 iplanet-am-user-failure-url 属性设置的 URL。
  4. clientType 自定义文件中为用户角色条目的 iplanet-am-auth-login-failure-url 属性设置的 URL。
  5. clientType 自定义文件中为用户组织条目的 iplanet-am-auth-login-failure-url 属性设置的 URL。
  6. clientType 自定义文件中为作为全局默认值的 iplanet-am-auth-login-failure-url 属性设置的 URL。
  7. 在用户条目 (amUser.xml) 的 iplanet-am-user-failure-url 属性中设置的 URL。
  8. 在用户角色条目的 iplanet-am-auth-login-failure-url 属性中设置的 URL。
  9. 在用户组织条目的 iplanet-am-auth-login-failure-url 属性中设置的 URL。
  10. 在作为全局默认值的 iplanet-am-auth-login-failure-url 属性中设置的 URL。

配置基于用户的验证

  1. 从“身份认证管理”模块的“查看”菜单中选择“用户”。
  2. “浏览”窗格中将显示用户列表。

  3. 选择要修改的用户,然后单击属性箭头。
  4. “数据”窗格中将显示用户配置文件。


    如果要创建新用户,验证配置服务将不会自动指定给该用户。请确保在创建用户之前先选择“用户配置文件”页面顶部的“验证配置服务”选项。如果未选择此选项,用户将不会继承为角色定义的验证配置。


  5. 要确保将验证配置服务指定给该用户,请从“查看”菜单中选择“服务”。指定之后,验证配置服务将被列为已指定的服务。
  6. 从“数据”窗格的“查看”菜单中选择“用户”。
  7. 单击“用户验证配置”属性旁边的“编辑”链接,以定义用于用户的验证模块。
  8. 单击“保存”。

基于验证级别的验证

每个验证模块均可以与其验证级别的整数值相关联。单击“服务配置”中验证模块的属性箭头,然后更改模块的“验证级别”属性相应的值,可以指定验证级别。用户通过一个或多个验证模块的验证后,较高的验证级别将决定较高的用户信任级别。

用户成功地通过模块的验证之后,系统将在用户的 SSO 令牌中设置验证级别。如果用户需要通过多个验证模块的验证并且成功地通过了这些验证,系统将在用户的 SSO 令牌中设置最高的验证级别值。

如果用户试图访问某个服务,该服务可以通过查看用户的 SSO 令牌中的验证级别来确定是否允许该用户进行访问。随后服务将用户重定向到具有相应验证级别的验证模块进行验证。

用户还可以访问具有特定验证级别的验证模块。例如,用户使用以下语法进行登录:

http://hostname:port/deploy_URI/UI/Login?authlevel=auth_level_value

所有验证级别高于或等于 auth_level_value 的模块将显示为验证菜单以供用户选择。如果只找到一个匹配的模块,则将直接显示该验证模块的登录页面。

此验证方法可让管理员指定验证身份的模块的安全级别。每个验证模块都有单独的“验证级别”属性,此属性的值可以定义为任何有效的整数。利用基于验证级别的验证,验证服务会显示一个模块登录页面,其中有一个菜单,包含验证级别等于或大于登录 URL 参数所指定的值的验证模块。用户可以从提供的列表中选择模块。在用户选择模块之后,剩余的处理取决于基于模块的验证。

基于验证级别的验证登录 URL

可以通过定义 authlevel 参数在“用户界面登录 URL”中指定基于验证级别的验证。在调用含有相关模块列表的登录屏幕之后,用户必须选择一个用于验证的模块。用于指定和启动基于验证级别的验证的登录 URL 是:

http://server_name.domain_name:port/amserver/UI/Login?authlevel=authentication_level

http://server_name.domain_name:port/amserver/UI/Login?org=org_name&authlevel=authentication_level

如果未配置 org 参数,用户所属的组织通过在登录 URL 中指定的服务器主机和域来确定。

基于验证级别的验证重定向 URL

在基于验证级别的验证成功或失败后,Access Manager 会查找信息以重定向用户。下面是应用程序查找这些信息的优先顺序。

成功的基于验证级别的验证重定向 URL

成功的基于验证级别的验证重定向 URL 通过按优先顺序检查以下位置来确定:

  1. 验证模块设置的 URL。
  2. goto 登录 URL 参数设置的 URL。
  3. clientType 自定义文件中为用户配置文件 (amUser.xml) 的 iplanet-am-user-success-url 属性设置的 URL。
  4. clientType 自定义文件中为用户角色条目的 iplanet-am-auth-login-success-url 属性设置的 URL。
  5. clientType 自定义文件中为用户组织条目的 iplanet-am-auth-login-success-url 属性设置的 URL。
  6. clientType 自定义文件中为作为全局默认值的 iplanet-am-auth-login-success-url 属性设置的 URL。
  7. 在用户配置文件 (amUser.xml) iplanet-am-user-success-url 属性中设置的 URL。
  8. 在用户角色条目的 iplanet-am-auth-login-success-url 属性中设置的 URL。
  9. 在用户组织条目的 iplanet-am-auth-login-success-url 属性中设置的 URL。
  10. 在作为全局默认值的 iplanet-am-auth-login-success-url 属性中设置的 URL。
失败的基于验证级别的验证重定向 URL

失败的基于验证级别的验证重定向 URL 通过按以下顺序检查以下位置来确定:

  1. 验证模块设置的 URL。
  2. gotoOnFail 登录 URL 参数设置的 URL。
  3. clientType 自定义文件中为用户条目 (amUser.xml) 的 iplanet-am-user-failure-url 属性设置的 URL。
  4. clientType 自定义文件中为用户角色条目的 iplanet-am-auth-login-failure-url 属性设置的 URL。
  5. clientType 自定义文件中为用户组织条目的 iplanet-am-auth-login-failure-url 属性设置的 URL。
  6. clientType 自定义文件中为作为全局默认值的 iplanet-am-auth-login-failure-url 属性设置的 URL。
  7. 在用户条目 (amUser.xml) iplanet-am-user-failure-url 属性中设置的 URL。
  8. 在用户角色条目的 iplanet-am-auth-login-failure-url 属性中设置的 URL。
  9. 在用户组织条目的 iplanet-am-auth-login-failure-url 属性中设置的 URL。
  10. 在作为全局默认值的 iplanet-am-auth-login-failure-url 属性中设置的 URL。

基于模块验证

用户可以使用以下语法访问特定的验证模块:

http://hostname:port/deploy_URI/UI/Login?module=module_name

在能够访问验证模块之前,必须先修改核心验证服务属性“组织验证模块”以包含该验证模块名称。如果此属性中不包含该验证模块名称,则当用户尝试进行验证时,将会显示“验证模块被拒绝”页面。

此验证方法允许用户指定用来验证他们的模块。指定的模块必须向用户要访问的组织或子组织注册。这在组织“核心验证服务”的“组织验证模块”属性中配置。在收到基于模块的验证请求时,验证服务会验证模块是否按要求正确配置,如果该模块未定义,将拒绝用户访问。


有关如何使用 Access Manager 控制台注册验证模块的更多信息,参见第 7 章“验证选项”


基于模块的验证登录 URL

可以通过定义 module 参数在“用户界面登录 URL”中指定基于模块的验证。用于指定和启动基于模块的验证的登录 URL 是:

http://server_name.domain_name:port/amserver/UI/Login?module=authentication_module_name

http://server_name.domain_name:port/amserver/UI/Login?org=org_name&module=authentication_module_name

如果未配置 org 参数,用户所属的组织通过在登录 URL 中指定的服务器主机和域来确定。

基于模块的验证重定向 URL

在基于模块的验证成功或失败后,Access Manager 会查找信息以重定向用户。下面是应用程序查找这些信息的优先顺序。

成功的基于模块的验证重定向 URL

成功的基于模块的验证重定向 URL 通过按优先顺序检查以下位置来确定:

  1. 验证模块设置的 URL。
  2. goto 登录 URL 参数设置的 URL。
  3. clientType 自定义文件中为用户配置文件 (amUser.xml) 的 iplanet-am-user-success-url 属性设置的 URL。
  4. clientType 自定义文件中为用户角色条目的 iplanet-am-auth-login-success-url 属性设置的 URL。
  5. clientType 自定义文件中为用户组织条目的 iplanet-am-auth-login-success-url 属性设置的 URL。
  6. clientType 自定义文件中为作为全局默认值的 iplanet-am-auth-login-success-url 属性设置的 URL。
  7. 在用户配置文件 (amUser.xml) iplanet-am-user-success-url 属性中设置的 URL。
  8. 在用户角色条目的 iplanet-am-auth-login-success-url 属性中设置的 URL。
  9. 在用户组织条目的 iplanet-am-auth-login-success-url 属性中设置的 URL。
  10. 在作为全局默认值的 iplanet-am-auth-login-success-url 属性中设置的 URL。
失败的基于模块的验证重定向 URL

失败的基于模块的验证重定向 URL 通过按以下顺序检查以下位置来确定:

  1. 验证模块设置的 URL。
  2. gotoOnFail 登录 URL 参数设置的 URL。
  3. clientType 自定义文件中为用户条目 (amUser.xml) 的 iplanet-am-user-failure-url 属性设置的 URL。
  4. clientType 自定义文件中为用户角色条目的 iplanet-am-auth-login-failure-url 属性设置的 URL。
  5. clientType 自定义文件中为用户组织条目的 iplanet-am-auth-login-failure-url 属性设置的 URL。
  6. clientType 自定义文件中为作为全局默认值的 iplanet-am-auth-login-failure-url 属性设置的 URL。
  7. 在用户条目 (amUser.xml) 的 iplanet-am-user-failure-url 属性中设置的 URL。
  8. 在用户角色条目的 iplanet-am-auth-login-failure-url 属性中设置的 URL。
  9. 在用户组织条目的 iplanet-am-auth-login-failure-url 属性中设置的 URL。
  10. 在作为全局默认值的 iplanet-am-auth-login-failure-url 属性中设置的 URL。


验证配置

验证配置服务用于定义以下任一验证类型的验证模块:

为其中一种验证类型定义了验证模块后,可以基于成功的或失败的验证进程配置该模块以提供重定向 URL 以及后处理 Java 类规范。

在能够配置验证模块之前,必须先修改核心验证服务属性“组织验证模块”以包含特定的验证模块名称。

验证配置用户界面

验证配置服务允许您定义一个或多个验证服务(或模块),用户必须先通过这些验证服务才能访问控制台或 Access Manager 中的任何受保护的资源。基于组织、角色、服务和用户的验证使用通用用户界面定义验证模块。(随后的各节中介绍了访问特定对象类型的“验证配置”界面的说明)。

  1. 单击对象的“验证配置”属性旁边的“编辑”链接,以显示“模块列表”窗口。
  2. 此窗口列出了已指定给对象的验证模块。如果不存在任何模块,请单击“添加”以显示“添加模块”窗口。
  3. “添加模块”窗口包含三个要定义的文件:

    模块名称。此下拉列表允许您选择已在核心验证模块的“组织验证模块”属性中启用的验证模块(包括可以添加的自定义模块)。

    标志。该下拉菜单允许您指定验证模块要求,可以指定以下值之一:

    • REQUIRED - 要求验证模块必须成功。无论验证成功或失败,都将继续验证列表中的下一个验证模块。
    • REQUISITE - 要求验证模块必须成功。如果验证成功,将继续验证列表中的下一个验证模块。如果验证失败,则返回到应用程序(不继续验证列表中的下一个验证模块)。
    • SUFFICIENT - 不要求验证模块必须成功。如果验证成功,则立即返回到应用程序(不继续验证列表中的下一个验证模块)。如果验证失败,将继续验证列表中的下一个验证模块。
    • OPTIONAL - 不要求验证模块必须成功。无论验证成功或失败,都将继续验证列表中的下一个验证模块。
    • 这些标志建立了其定义的验证模块的执行标准。执行是有等级的:REQUIRED 等级最高,OPTION 等级最低。

      例如,如果管理员使用 REQUIRED 标志定义 LDAP 模块,则用户的证书必须通过 LADP 验证要求才能访问指定的资源。

      如果添加多个验证模块,并将每个模块的“标志”都设置成 REQUIRED,则用户必须通过所有验证要求才能被授予权限。

      有关标志定义的更多信息,参阅 JAAS(Java 验证和授权服务),网址为:

      http://java.sun.com/security/jaas/doc/module.html

      选项。模块的其他选项,格式为“关键字=值”对。多个选项之间用空格分隔。

      图 6-1
      用于用户的“添加模块”列表窗口
      Identity Server 控制台 - 验证配置, 用于用户的添加模块列表。

  4. 选择了字段后,请单击“确定”返回“模块列表”窗口。此窗口中将列出已定义的验证模块。单击“保存”。
  5. 您可以根据需要将任意数目的验证模块添加到此列表。添加多个验证模块称为链式添加验证。如果要链式添加验证模块,请注意模块列出的顺序将决定执行的层次结构的顺序。有关链式添加验证的更多信息,参见验证模块链

    要更改验证模块的顺序,请执行以下步骤:

    1. 单击“重新排序”按钮。
    2. 选择要重新排序的模块。
    3. 使用“上移”和“下移”按钮将其放置到所需的位置。
  6. 要从列表中移除任一验证模块,请选中验证模块旁边的复选框并单击“删除”。

  7. 如果在链中的任一模块中输入 amadmin 凭证,您将会收到 amadmin 配置文件。在这种情况下,验证不检查别名映射,也不检查链中的模块。


验证模块链

可以配置一个或多个验证模块,因此用户必须将验证证书传递到所有模块。这称为验证链。Access Manager 中的验证链使用验证服务中集成的 JAAS 框架完成。模块链在“验证配置”服务下配置。每个注册的模块都被分配了以下四个值之一:

一旦链中的模块验证(根据标志的定义)成功,控制就会返回到验证服务(从 JAAS 框架),验证用于验证的所有用户 ID,并将它们映射到一个用户。映射通过在用户配置文件中配置用户别名列表属性来完成。如果所有映射正确,会给该用户发有效的会话标记;否则拒绝给该用户发有效的会话标记。以下属性代表以其他用户作为别名的单个验证的用户:

如果所有用户 ID 没有映射到同一个用户,将启用动态配置文件创建;如果其中一个用户 ID 存在于本地目录服务器中,则其他用户 ID 将添加到现有用户的用户别名列表属性中。


  • 在验证链中,如果所有用户 ID 没有映射到一个用户,将从上次失败的验证模块中选取失败重定向 URL;如果所有个别模块(具有不同的用户 ID)都成功,则不选取。如果是基于用户的验证,则无论在验证页面中指定哪个用户 ID,都会从登录 URL 的用户参数中选取失败重定向 URL。
  • 如果所有用户 ID 没有映射到同一个用户,将启用动态配置文件创建;如果其中一个用户 ID 存在于本地目录服务器中,则其他用户 ID 将添加到现有用户的用户别名列表属性中。

用于组织的验证配置

组织的验证模块是在首次将核心验证服务添加到该组织时设置的。

要配置组织的验证属性,请执行以下操作:

  1. 找到您将为其配置验证属性的组织。
  2. 从“查看”菜单中选择“服务”。
  3. 在服务列表中单击核心属性箭头。
  4. “数据”窗格中将显示核心验证属性。

  5. 单击“管理员验证”属性旁边的“编辑”链接。此操作只允许您为管理员定义验证服务。如果需要将管理员的验证模块与最终用户的验证模块区别开来,则可以使用该属性。默认验证模块为 LDAP。
  6. 定义了验证服务之后,请单击“保存”以保存所作的更改,然后单击“关闭”返回组织的核心验证属性。

  7. 单击“组织验证配置”属性旁边的“编辑”链接。此操作允许您为组织中的所有用户定义验证模块。默认验证模块为 LDAP。
  8. 定义了验证服务之后,请单击“保存”以保存所作的更改,然后单击“关闭”返回组织的核心验证属性。

用于角色的验证配置

角色的验证模块是在角色级别添加了验证配置服务之后设置的。

  1. 找到您将为其配置验证属性的组织。
  2. 从“查看”菜单中选择“角色”。
  3. 选择要为其设置验证配置的角色并单击属性箭头。
  4. “数据”窗格中将显示角色的属性。

  5. 从“数据”窗格的“查看”菜单中选择“服务”。
  6. 根据需要修改验证配置属性。您可以在第 33 章“验证配置服务属性”中,或通过单击控制台右上角的“帮助”链接找到这些属性的说明。
  7. 单击“保存”。

  8. 如果要创建新角色,验证配置服务将不会自动指定给该角色。请确保在创建新角色之前先选择“角色配置文件”页面顶部的“验证配置服务”选项。

    如果启用了基于角色的验证,可以将 LDAP 验证模块保留为默认设置,因为不需要配置成员资格。


用于服务的验证配置

服务的验证模块是在添加了验证配置服务之后设置的。为此,请执行以下步骤:

  1. 从“身份认证管理”模块的“查看”菜单中选择“服务”。
  2. 将显示已添加服务的列表。如果未添加验证配置服务,请继续执行以下步骤。如果已添加了该服务,请跳到步骤 4

  3. 在“浏览”窗格中单击“添加”。
  4. “数据”窗格中将显示可用服务的列表。

  5. 选中验证配置的复选框并单击“添加”。
  6. 验证配置服务将显示在“浏览”窗格中,向管理员证实已添加了该服务。

  7. 单击验证配置属性箭头。
  8. “数据”窗格中将显示“服务实例列表”。

  9. 单击要为其配置验证模块的服务实例。
  10. 修改验证配置属性并单击“保存”。您可以在第 33 章“验证配置服务属性”中,或通过单击控制台右上角的“帮助”链接找到这些属性的说明。

用于用户的验证配置

  1. 从“身份认证管理”模块的“查看”菜单中选择“用户”。
  2. “浏览”窗格中将显示用户列表。

  3. 选择要修改的用户,然后单击属性箭头。
  4. “数据”窗格中将显示用户配置文件。


    如果要创建新用户,验证配置服务将不会自动指定给该用户。请确保在创建用户之前先选择“用户配置文件”页面顶部的“验证配置服务”选项。如果未选择此选项,用户将不会继承为角色定义的验证配置。


  5. 要确保将验证配置服务指定给该用户,请从“查看”菜单中选择“服务”。指定之后,验证配置服务将被列为已指定的服务。
  6. 从“数据”窗格的“查看”菜单中选择“用户”。
  7. 单击“用户验证配置”属性旁边的“编辑”链接,以定义用于用户的验证模块。
  8. 单击“保存”。


帐户锁定

验证服务提供这样一项功能:在验证失败 n 次后将锁定用户。默认情况下此功能是关闭的,但可以使用 Access Manager 控制台启用。


只有抛出“密码无效异常”的模块可以利用“帐户锁定”功能。


核心验证服务包含用于启用和自定义此功能的属性,包括但不限于:

有关任何帐户锁定的电子邮件通知都会发送给管理员。(还会记录帐户锁定活动。)有关帐户锁定属性的更多信息,参见第 20 章“核心验证属性”


有关在 Microsoft Windows 2000 操作系统中使用此功能的特殊说明,参见 Access Manager Developer's Guide 附录 A“AMConfig properties 文件”中的“简单邮件传输协议 (SMTP)”。


Access Manager 支持两种帐户锁定:物理锁定和内存锁定,具体在以下几节中定义。

物理锁定

这是 Access Manager 的默认锁定行为。锁定通过将用户配置文件中 LDAP 属性的状态改为非活动来启动。锁定属性名称属性定义用于锁定目的的 LDAP 属性。有关配置物理锁定的更多信息,参见 Sun Java System Access Manager 管理指南


别名用户是通过配置 LDAP 配置文件中的“用户别名列表属性”(iplanet-am-user-alias-list in amUser.xml) 来映射到现有 LDAP 用户配置文件的用户。别名用户可以通过添加 iplanet-am-user-alias-list 到“核心验证服务”中的“别名搜索属性名称”字段来验证。也就是说,如果别名用户被锁定,则使用该用户别名的实际 LDAP 配置文件也将被锁定。这只适合于 LDAP 及“成员资格”以外的验证模块的物理锁定。


内存锁定

内存锁定通过将 Login Failure Lockout Duration 属性改为大于 0 的值来启用。用户的帐户会在内存中锁定指定的分钟数。帐户将在过了该时间段之后解除锁定。以下是使用内存锁定功能时的一些特殊注意事项:


验证服务故障转移

如果主服务器因硬件或软件故障失败或者服务器被临时关闭,则验证服务故障转移会自动将验证请求重定向到辅助服务器。

必须首先在提供验证服务的 Access Manager 实例上创建验证环境。如果此 Access Manager 实例不可用,则可通过验证故障转移机制在其他的 Access Manager 实例上创建验证环境。验证环境将按以下顺序检查服务器可用性。

  1. 验证服务 URL 将被传递给 AuthContext API。例如:
  2. AuthContext(orgName, url)

    如果使用此 API,则它将仅使用由 URL 所引用的服务器。即使在该服务器中提供了验证服务,也不会进行故障转移。

  3. 验证环境将检查在 AMConfig.properties 文件的 com.iplanet.am.server* 属性中定义的服务器。
  4. 如果步骤 2 失败,则验证环境将从提供有命名服务的服务器查询平台列表。此平台列表是在安装共享同一个 Directory Server 实例的多个 Access Manager 实例(通常是为故障转移目的)时自动创建的。
  5. 例如,如果该平台列表包含 Server1Server2Server3 的 URL,则验证环境会在 Server1Server2Server3 之间循环,直到验证在其中一个服务器上成功为止。

平台列表不可能始终从同一个服务器获得,因为它取决于命名服务的可用性。而且,命名服务故障转移可能会首先进行。在 com.iplanet.am.naming.url 属性(在 AMConfing.properties 中)中将指定多个命名服务 URL。第一个可用的命名服务 URL 将用于确定服务器,该服务器中包含将会进行验证故障转移的服务器(限于其平台服务器列表范围内)的列表。


全限定域名映射

全限定域名 (FQDN) 映射可让“验证服务”在用户键入错误的 URL(例如指定部分主机名或 IP 地址来访问受保护的资源)时进行纠正操作。FQDN 映射通过修改 AMConfig.properties 文件中的 com.sun.identity.server.fqdnMap 属性来启用。用于指定此属性的格式为:

com.sun.identity.server.fqdnMap[invalid-name]=valid-name

invalid-name 可能是用户键入的无效 FQDN 主机名,valid-name 是过滤器重定向用户到的实际主机名。只要符合规定的要求,可以指定任意数量的映射(如代码示例 1-1 中所示)。如果未设置此属性,用户将被发送到 AMConfig.properties 文件的 com.iplanet.am.server.host=server_name 属性中配置的默认服务器名称。

代码示例 6-1 AMConfig.properties 中的 FQDN 映射属性

com.sun.identity.server.fqdnMap[isserver]=isserver.mydomain.com

com.sun.identity.server.fqdnMap[isserver.mydomain]=isserver.mydomain.com

com.sun.identity.server.fqdnMap[IP address]=isserver.mydomain.com

FQDN 映射的可能用途

此属性可用于为多个主机名创建映射,这可能是服务器上的应用程序可由多个主机名访问。此属性也可用于将 Access Manager 配置为不对特定 URL 进行纠正操作。例如,如果无需重定向使用 IP 地址访问应用程序的用户,可以通过指定如下映射条目来实现此功能:

com.sun.identity.server.fqdnMap[IP address]=IP address


警告

如果定义了多个映射,请确保无效的 FQDN 名称中没有重叠的值。否则可能导致无法访问应用程序。



持久 Cookie

持久 Cookie 是在 Web 浏览器关闭后继续存在的 Cookie,允许用户使用新的浏览器会话登录,而无需重新验证。Cookie 的名称由 AMConfig.properties 中的 com.iplanet.am.pcookie.name 属性定义;默认值是 DProPCookie。Cookie 值是 3DES 加密字符串,包含用户 DN、组织名称、验证模块名称、最长会话时间、空闲时间和高速缓存时间。要启用持久 Cookie,请执行以下步骤:

  1. 在核心验证模块中打开持久 Cookie 模式
  2. 为核心验证模块中的持久 Cookie 最长时间属性配置时间值。
  3. 附加值为 yes 的 iPSPCookie 参数到“用户界面登录 URL”。
  4. 用户使用此 URL 验证之后,如果浏览器已关闭,他们可以打开一个新的浏览器窗口,并且将被重定向至控制台,而无需重新验证。这在到达步骤 2 所定义的时间之前一直有效。

可以使用“验证 SPI”方法打开持久 Cookie 模式:

AMLoginModule.setPersistentCookieOn()


多个 LDAP 验证模块配置

管理员可以在一个组织下定义多个 LDAP 验证模块配置,作为故障转移的形式或者在 Access Manager 控制台只提供一个值字段时为一个属性配置多个值。尽管这些附加配置无法通过控制台查看,但如果未找到对于请求用户的授权的初始搜索,这些配置将与主配置一起发挥作用。例如,一个组织可以定义在两个不同的域中搜索 LDAP 验证服务器,也可以在一个域中配置多个用户命名属性。对于后者,控制台中只有一个文本字段,如果使用主要搜索条件找不到用户,LDAP 模块将使用第二个范围搜索。以下是配置其他 LDAP 配置的步骤。

添加其他 LDAP 配置

  1. 编写一个 XML 文件,在其中包括完整的属性集和第二个(或第三个)LDAP 验证配置所需的新值。
  2. 可以通过查看 etc/opt/SUNWam/config/xml 中的 amAuthLDAP.xml 来引用可用的属性。但此步骤创建的 XML 文件与 amAuthLDAP.xml 不同,是基于 amadmin.dtd 结构的。可以为此文件定义任何或所有属性。代码示例 1-2 是一个示例子配置文件,该文件包括 LDAP 验证配置可用的所有属性的值。

    代码示例 6-2 添加 LDAP 子配置的样例 XML 文件 

    <?xml version="1.0" encoding="ISO-8859-1"?>

    <!--

    Copyright (c) 2002 Sun Microsystems, Inc. All rights reserved.

    Use is subject to license terms.

    -->

    <!DOCTYPE Requests

    PUBLIC "-//iPlanet//Sun ONE Identity Server 6.0 Admin CLI DTD//EN"

    "jar://com/iplanet/am/admin/cli/amAdmin.dtd"

    >

    <!--

    Before adding subConfiguration load the schema with

    GlobalConfiguration defined and replace corresponding

    serviceName and subConfigID in this sample file OR load

    serviceConfigurationRequests.xml before loading this sample

    -->

    <Requests>

    <OrganizationRequests DN="dc=iplanet,dc=com">

    <AddSubConfiguration subConfigName = "ssc"

    subConfigId = "serverconfig"

    priority = "0" serviceName="iPlanetAMAuthLDAPService">

    <AttributeValuePair>

    <Attribute name="iplanet-am-auth-ldap-server"/>

    <Value>newvalue</Value>

    </AttributeValuePair>

    <AttributeValuePair>

    <Attribute name="iplanet-am-auth-ldap-server"/>

    <Value>vbrao.red.iplanet.com:389</Value>

    </AttributeValuePair>

    <AttributeValuePair>

    <Attribute name="iplanet-am-auth-ldap-base-dn"/>

    <Value>dc=iplanet,dc=com</Value>

    </AttributeValuePair>

    <AttributeValuePair>

    <Attribute name="planet-am-auth-ldap-bind-dn"/>

    <Value>cn=amldapuser,ou=DSAME Users,dc=iplanet,dc=com</Value>

    </AttributeValuePair>

    <AttributeValuePair>

    <Attribute name="iplanet-am-auth-ldap-bind-passwd"/>

    <Value>plain text password</Value>

    </AttributeValuePair>

    <AttributeValuePair>

    <Attribute name="iplanet-am-auth-ldap-user-naming-attribute"/>

    <Value>uid</Value>

    </AttributeValuePair>

    <AttributeValuePair>

    <Attribute name="iplanet-am-auth-ldap-user-search-attributes"/>

    <Value>uid</Value>

    </AttributeValuePair>

    <AttributeValuePair>

    <Attribute name="iplanet-am-auth-ldap-search-scope"/>

    <Value>SUBTREE</Value>

    </AttributeValuePair>

    <AttributeValuePair>

    <Attribute name="iplanet-am-auth-ldap-ssl-enabled"/>

    <Value>false</Value>

    </AttributeValuePair>

    <AttributeValuePair>

    <Attribute name="iplanet-am-auth-ldap-return-user-dn"/>

    <Value>true</Value>

    </AttributeValuePair>

    <AttributeValuePair>

    <Attribute name="iplanet-am-auth-ldap-auth-level"/>

    <Value>0</Value>

    </AttributeValuePair>

    <AttributeValuePair>

    <Attribute name="iplanet-am-auth-ldap-server-check"/>

    <Value>15</Value>

    </AttributeValuePair>

    </AddSubConfiguration>

    </OrganizationRequests>

    </Requests>

  3. 复制纯文本密码,作为步骤 1 所创建的 XML 文件中的 iplanet-am-auth-ldap-bind-passwd 的值。
  4. 此属性的值在第 41 页的代码示例 1-2 中以粗体显示。

  5. 使用 amadmin 命令行工具装入 XML 文件。
  6. ./amadmin -u amadmin -w administrator_password -v -t name_of_XML_file。

请注意,这第二个 LDAP 配置不能使用 Access Manager 控制台查看或修改。


提示    

多 LDAP 配置有可供使用的样例。请参见 /AcessManager-base/SUNWam/samples/admin/cli/bulk-ops/ 中的 serviceAddMultipleLDAPConfigurationRequests.xml 命令行模板。有关说明,参见位于 /AcessManager-base/SUNWam/samples/admin/cli/ Readme.html



会话升级

验证服务允许根据同一用户向一个组织执行的第二次成功验证来升级有效的会话标记。如果拥有有效会话标记的用户尝试向其当前组织保护的资源验证,并且这第二次验证请求成功,则该会话将用基于新验证的新属性更新。如果验证失败,会返回没有升级的当前会话。如果拥有有效会话的用户尝试向不同组织保护的资源验证,该用户将会收到一则问他们是否要向新组织验证的消息。此时用户可以保持当前的会话,也可以尝试向新组织验证。成功的验证将会导致旧会话被损坏,而新会话被创建。

在会话升级期间,如果登录页面超时,就会重定向到原来的成功 URL。超时值取决于:

com.iplanet.am.invalidMaxSessionTimeoutiplanet-am-max-session-time 的值应大于页面超时值,否则在会话升级期间的有效会话信息将丢失,URL 重定向到以前的成功 URL 也将失败。


验证插件接口

管理员可以编写适用于其组织的用户名或密码验证逻辑,并将其插入验证服务。(只有 LDAP 和“成员资格”验证模块才支持此功能。)在验证用户或更改密码之前,Access Manager 将调用此插件。如果验证成功,验证将会继续;如果验证失败,就会抛出验证失败页面。该插件会扩展作为“服务管理 SDK”一部分的 com.iplanet.am.sdk.AMUserPasswordValidation 类。有关此 SDK 的信息,参见 Access Manager Javadocs 中的 com.iplanet.am.sdk 软件包。以下步骤说明如何为 Access Manager 编写和配置验证插件。

  1. 新的插件类将扩展 com.iplanet.am.sdk.AMUserPasswordValidation 类,并实现 validateUserID() validatePassword() 方法。如果验证失败,应会抛出 AMException
  2. 编译插件类,并将 .class 文件放在所需的位置。更新类路径,使其在运行时可供 Access Manager 访问。
  3. 以顶层管理员身份登录 Access Manager 控制台。单击“服务管理”选项卡,访问管理服务的属性。在 UserID & Password Validation Plugin Class 字段中键入插件类的名称(包括软件包名称)。
  4. 注销,然后登录。


JAAS 共享状态

JAAS 共享状态可在验证模块之间共享用户 ID 和密码。为以下每个验证模块都定义了选项:

在失败时,模块会提示其需要的证书。在验证失败后,模块会停止运行,或者清除注销共享状态。

启用 JAAS 共享状态

要配置 JAAS 共享状态,请执行以下步骤:

在失败时,验证模块会根据 JAAS 规范中建议的 tryFirstPass 选项行为提示所需的证书。

JAAS 共享状态存储选项

要配置 JAAS 共享状态存储选项,请执行以下步骤:

在提交、中止或注销后,将清除共享状态。



上一页      目录      索引      下一页     


文件号码 819-1940。 版权所有 2005 Sun Microsystems, Inc. 保留所有权利。