![]() | |
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
用户界面登录 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 浏览器的地址栏时,可获取不同的验证功能。
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 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 参数可让指定的语言环境优先于任何其他定义的语言环境。在以下位置按特定顺序搜索配置之后,客户机会显示登录语言环境:
来源于此啄序的语言环境存储在用户的会话标记中,Access Manager 用它来仅装入本地化的验证模块。在成功验证之后,使用用户配置文件中“用户首选语言”属性定义的语言环境。如果没有设置,将继续使用验证所用的语言环境。例如:
http://server_name.domain_name:port/amserver/UI/Login?locale=ja。
module 参数
module=moduleName 参数允许通过指定的验证模块进行验证。虽然可以指定任何模块,但必须先向用户所属的组织注册,并将其选为核心验证模块中组织的验证模块之一。例如:
http://server_name.domain_name:port/amserver/UI/Login?module=Unix
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
domain 参数
此参数允许用户登录到标识为指定域的组织。指定域必须与组织配置文件中“域名”属性的定义值一致。例如:
http://server_name.domain_name:port/amserver/UI/Login?domain=sun.com
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
验证类型验证服务提供不同的验证方法。这些不同的验证方法可以通过指定登录 URL 参数或通过验证编程接口来访问。在能够配置验证模块之前,必须先修改核心验证服务属性“组织验证模块”以包含特定的验证模块名称。
验证配置服务用于定义以下任一验证类型的验证模块:
为其中一种验证类型定义了验证模块后,可以基于成功的或失败的验证进程配置该模块以提供重定向 URL 以及后处理 Java 类规范。
验证类型如何确定访问
对于每种方法,用户验证都可能通过或失败。一旦确定,每种方法都遵守以下过程。步骤 1 到步骤 3 接着成功的验证执行;步骤 4 接着成功或失败的验证执行。
- Access Manager 确认验证的用户是否在 Directory Server 数据存储库中定义,以及配置文件是否为活动的。
核心验证模块中的“用户配置文件”属性可以定义为必需、动态、随用户别名动态变换或忽略。在成功的验证之后,Access Manager 确认验证的用户是否在 Directory Server 数据存储库中定义,如果“用户配置文件”值为 Required,则确认用户配置文件是否为活动的。(这是默认情况。)如果“用户配置文件”是 Dynamically Configured,验证服务将在 Directory Server 数据存储库中创建用户配置文件。如果“用户配置文件”设置为 Ignore,则用户验证将不会完成。
- 完成验证后期处理 SPI 的执行。
核心验证模块包含“验证后期处理类”属性,该属性可能将验证后期处理类名作为其值。AMPostAuthProcessInterface 是后期处理界面。它可以在验证成功、验证失败或注销后执行。
- 以下属性会添加或更新,会话标记和用户会话会激活。
Organization。这是用户所属组织的 DN。
Principal。这是用户的 DN。
Principals。这是用户已经验证的名称列表。(此属性可能有多个值定义为管道分隔列表。)
UserId。这是模块返回的用户 DN,如果模块不是 LDAP 或“成员资格”,则为用户名。(所有“负责人”必须映射到同一用户。UserID 是它们映射到的用户 DN。)
UserToken。这是用户名。(所有“负责人”必须映射到同一用户。UserToken 是它们映射到的用户名。)
Host。这是客户机的主机名或 IP 地址。
authLevel。这是用户已经验证的最高级别。
AuthType。这是用户已经验证的验证模块的管道分隔列表(例如 module1|module2|module3)。
clientType。这是客户机浏览器的设备类型。
Locale。这是客户机的语言环境。
CharSet。这是客户机的确定字符集。
Role。仅适用于基于角色的验证,这是用户所属的角色。
Service。仅适用于基于服务的验证,这是用户所属的服务。
loginURL。这是客户机的登录 URL。
- Access Manager 在验证成功或失败后会在该 URL 中查找信息,以重定向用户。
URL 重定向可以定向至一个 Access Manager 页面或 URL。重定向取决于 Access Manager 根据验证方法查找重定向的优先顺序,以及验证是成功还是失败。此顺序在以下验证方法章节的 URL 重定向部分有详细描述。
URL 重定向
在验证配置服务中,您可以指定 URL 重定向以进行成功的或不成功的验证。而 URL 本身是在该服务的“登录成功 URL”和“登录失败 URL”属性中进行定义的。为了启用 URL 重定向,必须将验证配置服务添加到您的组织中,以便可以为角色、组织或用户进行配置。添加验证配置服务时,请确保添加一个验证模块,例如 LDAP - REQUIRED。有关更多信息,参见验证配置。
基于组织的验证
此验证方法允许用户向组织或子组织验证。这是 Access Manager 的默认验证方法。组织的验证方法通过向组织注册核心验证模块和定义“组织验证配置”属性来设置。
基于组织的验证登录 URL
可以通过定义 org 参数或 domain 参数在“用户界面登录 URL”中指定验证的组织。请求验证的组织按优先顺序由以下值确定:
在调用正确的组织后,可以通过核心验证服务中的“组织验证配置”属性获取将验证用户的验证模块。用于指定和启动基于组织的验证的登录 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 通过按优先顺序检查以下位置来确定:
- 验证模块设置的 URL。
- goto 登录 URL 参数设置的 URL。
- 在 clientType 自定义文件中为用户配置文件 (amUser.xml) 的 iplanet-am-user-success-url 属性设置的 URL。
- 在 clientType 自定义文件中为用户角色条目的 iplanet-am-auth-login-success-url 属性设置的 URL。
- 在 clientType 自定义文件中为用户组织条目的 iplanet-am-auth-login-success-url 属性设置的 URL。
- 在 clientType 自定义文件中为作为全局默认值的 iplanet-am-auth-login-success-url 属性设置的 URL。
- 在用户配置文件 (amUser.xml) 的 iplanet-am-user-success-url 属性中设置的 URL。
- 在用户角色条目的 iplanet-am-auth-login-success-url 属性中设置的 URL。
- 在用户组织条目的 iplanet-am-auth-login-success-url 属性中设置的 URL。
- 在作为全局默认值的 iplanet-am-auth-login-success-url 属性中设置的 URL。
失败的基于组织的验证重定向 URL
失败的基于组织的验证重定向 URL 通过按以下顺序检查以下位置来确定:
- 验证模块设置的 URL。
- gotoOnFail 登录 URL 参数设置的 URL。
- 在 clientType 自定义文件中为用户条目 (amUser.xml) 的 iplanet-am-user-failure-url 属性设置的 URL。
- 在 clientType 自定义文件中为用户角色条目的 iplanet-am-auth-login-failure-url 属性设置的 URL。
- 在 clientType 自定义文件中为用户组织条目的 iplanet-am-auth-login-failure-url 属性设置的 URL。
- 在 clientType 自定义文件中为作为全局默认值的 iplanet-am-auth-login-failure-url 属性设置的 URL。
- 在用户条目 (amUser.xml) 的 iplanet-am-user-failure-url 属性中设置的 URL。
- 在用户角色条目的 iplanet-am-auth-login-failure-url 属性中设置的 URL。
- 在用户组织条目的 iplanet-am-auth-login-failure-url 属性中设置的 URL。
- 在作为全局默认值的 iplanet-am-auth-login-failure-url 属性中设置的 URL。
配置基于组织的验证
组织的验证模块是在首次将核心验证服务添加到该组织时设置的。
要配置组织的验证属性,请执行以下操作:
- 找到您将为其配置验证属性的组织。
- 从“查看”菜单中选择“服务”。
- 在服务列表中单击核心属性箭头。
“数据”窗格中将显示核心验证属性。
- 单击“管理员验证”属性旁边的“编辑”。此操作只允许您为管理员定义验证服务。如果需要将管理员的验证模块与最终用户的验证模块区别开来,则可以使用该属性。默认验证模块为 LDAP。
定义了验证服务之后,请单击“保存”以保存所作的更改,然后单击“关闭”返回组织的核心验证属性。
- 单击“组织验证配置”属性旁边的“编辑”链接。此操作允许您为组织中的所有用户定义验证模块。默认验证模块为 LDAP。
- 定义了验证服务之后,请单击“保存”以保存所作的更改,然后单击“关闭”返回组织的核心验证属性。
基于角色的验证
此验证方法允许用户向组织或子组织内的角色(静态或过滤)验证。
验证要想成功,用户必须属于该角色,并且必须向为该角色配置的验证配置服务实例中定义的每个模块验证。对于每个基于角色的验证实例,可以指定以下属性:
冲突解决级别。这可为可能包含相同用户的两个不同角色定义的验证配置服务实例设置优先级级别。例如,如果 User1 被同时指定给 Role1 和 Role2,则可为 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 通过按以下顺序检查以下位置来确定:
- 验证模块设置的 URL。
- goto 登录 URL 参数设置的 URL。
- 在 clientType 自定义文件中为用户配置文件 (amUser.xml) 的 iplanet-am-user-success-url 属性设置的 URL。
- 在 clientType 自定义文件中为验证用户的角色的 iplanet-am-auth-login-success-url 属性设置的 URL。
- 在 clientType 自定义文件中为验证用户的另一个角色条目的 iplanet-am-auth-login-success-url 属性设置的 URL。(如果以前的重定向 URL 失败,此选项是一个替代方法。)
- 在 clientType 自定义文件中为用户组织条目的 iplanet-am-auth-login-success-url 属性设置的 URL。
- 在 clientType 自定义文件中为作为全局默认值的 iplanet-am-auth-login-success-url 属性设置的 URL。
- 在用户配置文件 (amUser.xml) 的 iplanet-am-user-success-url 属性中设置的 URL。
- 在验证用户的角色的 iplanet-am-auth-login-success-url 属性中设置的 URL。
- 在验证用户的另一个角色条目的 iplanet-am-auth-login-success-url 属性中设置的 URL。(如果以前的重定向 URL 失败,此选项是一个替代方法。)
- 在用户组织条目的 iplanet-am-auth-login-success-url 属性中设置的 URL。
- 在作为全局默认值的 iplanet-am-auth-login-success-url 属性中设置的 URL。
失败的基于角色的验证重定向 URL
失败的基于角色的验证重定向 URL 通过按以下顺序检查以下位置来确定:
- 验证模块设置的 URL。
- goto 登录 URL 参数设置的 URL。
- 在 clientType 自定义文件中为用户配置文件 (amUser.xml) 的 iplanet-am-user-failure-url 属性设置的 URL。
- 在 clientType 自定义文件中为验证用户的角色的 iplanet-am-auth-login-failure-url 属性设置的 URL。
- 在 clientType 自定义文件中为验证用户的另一个角色条目的 iplanet-am-auth-login-failure-url 属性设置的 URL。(如果以前的重定向 URL 失败,此选项是一个替代方法。)
- 在 clientType 自定义文件中为用户组织条目的 iplanet-am-auth-login-failure-url 属性设置的 URL。
- 在 clientType 自定义文件中为作为全局默认值的 iplanet-am-auth-login-failure-url 属性设置的 URL。
- 在用户配置文件 (amUser.xml) 的 iplanet-am-user-failure-url 属性中设置的 URL。
- 在验证用户的角色的 iplanet-am-auth-login-failure-url 属性中设置的 URL。
- 在验证用户的另一个角色条目的 iplanet-am-auth-login-failure-url 属性中设置的 URL。(如果以前的重定向 URL 失败,此选项是一个替代方法。)
- 在用户组织条目的 iplanet-am-auth-login-failure-url 属性中设置的 URL。
- 在作为全局默认值的 iplanet-am-auth-login-failure-url 属性中设置的 URL。
配置基于角色的验证
角色的验证模块是在角色级别添加了验证配置服务之后设置的。
- 找到您将为其配置验证属性的组织。
- 从“查看”菜单中选择“角色”。
- 选择要为其设置验证配置的角色并单击属性箭头。
“数据”窗格中将显示角色的属性。
- 从“数据”窗格的“查看”菜单中选择“服务”。
- 根据需要修改验证配置属性。您可以在第 33 章“验证配置服务属性”中,或通过单击控制台右上角的“帮助”链接找到有关这些属性的说明。
- 单击“保存”。
基于服务的验证
此验证方法允许用户向在组织或子组织中注册的特定服务或应用程序验证。服务在验证配置服务内配置成“服务实例”,并且与“实例名称”关联。验证要想成功,用户必须验证在为服务配置的验证配置服务实例中定义的每个模块。对于每个基于服务的验证实例,可以指定以下属性:
验证配置。这可定义为服务验证进程配置的验证模块。
登录成功 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 通过按以下顺序检查以下位置来确定:
- 验证模块设置的 URL。
- goto 登录 URL 参数设置的 URL。
- 在 clientType 自定义文件中为用户配置文件 (amUser.xml) 的 iplanet-am-user-success-url 属性设置的 URL。
- 在 clientType 自定义文件中为验证用户的服务的 iplanet-am-auth-login-success-url 属性设置的 URL。
- 在 clientType 自定义文件中为用户角色条目的 iplanet-am-auth-login-success-url 属性设置的 URL。
- 在 clientType 自定义文件中为用户组织条目的 iplanet-am-auth-login-success-url 属性设置的 URL。
- 在 clientType 自定义文件中为作为全局默认值的 iplanet-am-auth-login-success-url 属性设置的 URL。
- 在用户配置文件 (amUser.xml) 的 iplanet-am-user-success-url 属性中设置的 URL。
- 在验证用户的服务的 iplanet-am-auth-login-success-url 属性中设置的 URL。
- 在用户角色条目的 iplanet-am-auth-login-success-url 属性中设置的 URL。
- 在用户组织条目的 iplanet-am-auth-login-success-url 属性中设置的 URL。
- 在作为全局默认值的 iplanet-am-auth-login-success-url 属性中设置的 URL。
失败的基于服务的验证重定向 URL
失败的基于服务的验证重定向 URL 通过按以下顺序检查以下位置来确定:
- 验证模块设置的 URL。
- goto 登录 URL 参数设置的 URL。
- 在 clientType 自定义文件中为用户配置文件 (amUser.xml) 的 iplanet-am-user-failure-url 属性设置的 URL。
- 在 clientType 自定义文件中为验证用户的服务的 iplanet-am-auth-login-failure-url 属性设置的 URL。
- 在 clientType 自定义文件中为用户角色条目的 iplanet-am-auth-login-failure-url 属性设置的 URL。
- 在 clientType 自定义文件中为用户组织条目的 iplanet-am-auth-login-failure-url 属性设置的 URL。
- 在 clientType 自定义文件中为作为全局默认值的 iplanet-am-auth-login-failure-url 属性设置的 URL。
- 在用户配置文件 (amUser.xml) 的 iplanet-am-user-failure-url 属性中设置的 URL。
- 在验证用户的服务的 iplanet-am-auth-login-failure-url 属性中设置的 URL。
- 在用户角色条目的 iplanet-am-auth-login-failure-url 属性中设置的 URL。
- 在用户组织条目的 iplanet-am-auth-login-failure-url 属性中设置的 URL。
- 在作为全局默认值的 iplanet-am-auth-login-failure-url 属性中设置的 URL。
配置基于服务的验证
服务的验证模块是在添加了验证配置服务之后设置的。为此,请执行以下步骤:
- 从“身份认证管理”模块的“查看”菜单中选择“服务”。
将显示已添加服务的列表。如果未添加验证配置服务,请继续执行以下步骤。如果已添加了该服务,请跳到步骤 4。
- 在“浏览”窗格中单击“添加”。
“数据”窗格中将显示可用服务的列表。
- 选中验证配置的复选框并单击“添加”。
验证配置服务将显示在“浏览”窗格中,向管理员证实已添加了该服务。
- 单击验证配置属性箭头。
“数据”窗格中将显示“服务实例列表”。
- 单击要为其配置验证模块的服务实例。
- 修改验证配置属性并单击“保存”。您可以在第 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 通过按优先顺序检查以下位置来确定:
- 验证模块设置的 URL。
- goto 登录 URL 参数设置的 URL。
- 在 clientType 自定义文件中为用户配置文件 (amUser.xml) 的 iplanet-am-user-success-url 属性设置的 URL。
- 在 clientType 自定义文件中为用户角色条目的 iplanet-am-auth-login-success-url 属性设置的 URL。
- 在 clientType 自定义文件中为用户组织条目的 iplanet-am-auth-login-success-url 属性设置的 URL。
- 在 clientType 自定义文件中为作为全局默认值的 iplanet-am-auth-login-success-url 属性设置的 URL。
- 在用户配置文件 (amUser.xml) 的 iplanet-am-user-success-url 属性中设置的 URL。
- 在用户角色条目的 iplanet-am-auth-login-success-url 属性中设置的 URL。
- 在用户组织条目的 iplanet-am-auth-login-success-url 属性中设置的 URL。
- 在作为全局默认值的 iplanet-am-auth-login-success-url 属性中设置的 URL。
失败的基于用户的验证重定向 URL
失败的基于用户的验证重定向 URL 通过按以下顺序检查以下位置来确定:
- 验证模块设置的 URL。
- gotoOnFail 登录 URL 参数设置的 URL。
- 在 clientType 自定义文件中为用户条目 (amUser.xml) 的 iplanet-am-user-failure-url 属性设置的 URL。
- 在 clientType 自定义文件中为用户角色条目的 iplanet-am-auth-login-failure-url 属性设置的 URL。
- 在 clientType 自定义文件中为用户组织条目的 iplanet-am-auth-login-failure-url 属性设置的 URL。
- 在 clientType 自定义文件中为作为全局默认值的 iplanet-am-auth-login-failure-url 属性设置的 URL。
- 在用户条目 (amUser.xml) 的 iplanet-am-user-failure-url 属性中设置的 URL。
- 在用户角色条目的 iplanet-am-auth-login-failure-url 属性中设置的 URL。
- 在用户组织条目的 iplanet-am-auth-login-failure-url 属性中设置的 URL。
- 在作为全局默认值的 iplanet-am-auth-login-failure-url 属性中设置的 URL。
配置基于用户的验证
基于验证级别的验证
每个验证模块均可以与其验证级别的整数值相关联。单击“服务配置”中验证模块的属性箭头,然后更改模块的“验证级别”属性相应的值,可以指定验证级别。用户通过一个或多个验证模块的验证后,较高的验证级别将决定较高的用户信任级别。
用户成功地通过模块的验证之后,系统将在用户的 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 通过按优先顺序检查以下位置来确定:
- 验证模块设置的 URL。
- goto 登录 URL 参数设置的 URL。
- 在 clientType 自定义文件中为用户配置文件 (amUser.xml) 的 iplanet-am-user-success-url 属性设置的 URL。
- 在 clientType 自定义文件中为用户角色条目的 iplanet-am-auth-login-success-url 属性设置的 URL。
- 在 clientType 自定义文件中为用户组织条目的 iplanet-am-auth-login-success-url 属性设置的 URL。
- 在 clientType 自定义文件中为作为全局默认值的 iplanet-am-auth-login-success-url 属性设置的 URL。
- 在用户配置文件 (amUser.xml) 的 iplanet-am-user-success-url 属性中设置的 URL。
- 在用户角色条目的 iplanet-am-auth-login-success-url 属性中设置的 URL。
- 在用户组织条目的 iplanet-am-auth-login-success-url 属性中设置的 URL。
- 在作为全局默认值的 iplanet-am-auth-login-success-url 属性中设置的 URL。
失败的基于验证级别的验证重定向 URL
失败的基于验证级别的验证重定向 URL 通过按以下顺序检查以下位置来确定:
- 验证模块设置的 URL。
- gotoOnFail 登录 URL 参数设置的 URL。
- 在 clientType 自定义文件中为用户条目 (amUser.xml) 的 iplanet-am-user-failure-url 属性设置的 URL。
- 在 clientType 自定义文件中为用户角色条目的 iplanet-am-auth-login-failure-url 属性设置的 URL。
- 在 clientType 自定义文件中为用户组织条目的 iplanet-am-auth-login-failure-url 属性设置的 URL。
- 在 clientType 自定义文件中为作为全局默认值的 iplanet-am-auth-login-failure-url 属性设置的 URL。
- 在用户条目 (amUser.xml) 的 iplanet-am-user-failure-url 属性中设置的 URL。
- 在用户角色条目的 iplanet-am-auth-login-failure-url 属性中设置的 URL。
- 在用户组织条目的 iplanet-am-auth-login-failure-url 属性中设置的 URL。
- 在作为全局默认值的 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 通过按优先顺序检查以下位置来确定:
- 验证模块设置的 URL。
- goto 登录 URL 参数设置的 URL。
- 在 clientType 自定义文件中为用户配置文件 (amUser.xml) 的 iplanet-am-user-success-url 属性设置的 URL。
- 在 clientType 自定义文件中为用户角色条目的 iplanet-am-auth-login-success-url 属性设置的 URL。
- 在 clientType 自定义文件中为用户组织条目的 iplanet-am-auth-login-success-url 属性设置的 URL。
- 在 clientType 自定义文件中为作为全局默认值的 iplanet-am-auth-login-success-url 属性设置的 URL。
- 在用户配置文件 (amUser.xml) 的 iplanet-am-user-success-url 属性中设置的 URL。
- 在用户角色条目的 iplanet-am-auth-login-success-url 属性中设置的 URL。
- 在用户组织条目的 iplanet-am-auth-login-success-url 属性中设置的 URL。
- 在作为全局默认值的 iplanet-am-auth-login-success-url 属性中设置的 URL。
失败的基于模块的验证重定向 URL
失败的基于模块的验证重定向 URL 通过按以下顺序检查以下位置来确定:
- 验证模块设置的 URL。
- gotoOnFail 登录 URL 参数设置的 URL。
- 在 clientType 自定义文件中为用户条目 (amUser.xml) 的 iplanet-am-user-failure-url 属性设置的 URL。
- 在 clientType 自定义文件中为用户角色条目的 iplanet-am-auth-login-failure-url 属性设置的 URL。
- 在 clientType 自定义文件中为用户组织条目的 iplanet-am-auth-login-failure-url 属性设置的 URL。
- 在 clientType 自定义文件中为作为全局默认值的 iplanet-am-auth-login-failure-url 属性设置的 URL。
- 在用户条目 (amUser.xml) 的 iplanet-am-user-failure-url 属性中设置的 URL。
- 在用户角色条目的 iplanet-am-auth-login-failure-url 属性中设置的 URL。
- 在用户组织条目的 iplanet-am-auth-login-failure-url 属性中设置的 URL。
- 在作为全局默认值的 iplanet-am-auth-login-failure-url 属性中设置的 URL。
验证配置验证配置服务用于定义以下任一验证类型的验证模块:
为其中一种验证类型定义了验证模块后,可以基于成功的或失败的验证进程配置该模块以提供重定向 URL 以及后处理 Java 类规范。
在能够配置验证模块之前,必须先修改核心验证服务属性“组织验证模块”以包含特定的验证模块名称。
验证配置用户界面
验证配置服务允许您定义一个或多个验证服务(或模块),用户必须先通过这些验证服务才能访问控制台或 Access Manager 中的任何受保护的资源。基于组织、角色、服务和用户的验证使用通用用户界面定义验证模块。(随后的各节中介绍了访问特定对象类型的“验证配置”界面的说明)。
- 单击对象的“验证配置”属性旁边的“编辑”链接,以显示“模块列表”窗口。
- 此窗口列出了已指定给对象的验证模块。如果不存在任何模块,请单击“添加”以显示“添加模块”窗口。
“添加模块”窗口包含三个要定义的文件:
模块名称。此下拉列表允许您选择已在核心验证模块的“组织验证模块”属性中启用的验证模块(包括可以添加的自定义模块)。
标志。该下拉菜单允许您指定验证模块要求,可以指定以下值之一:
- REQUIRED - 要求验证模块必须成功。无论验证成功或失败,都将继续验证列表中的下一个验证模块。
- REQUISITE - 要求验证模块必须成功。如果验证成功,将继续验证列表中的下一个验证模块。如果验证失败,则返回到应用程序(不继续验证列表中的下一个验证模块)。
- SUFFICIENT - 不要求验证模块必须成功。如果验证成功,则立即返回到应用程序(不继续验证列表中的下一个验证模块)。如果验证失败,将继续验证列表中的下一个验证模块。
- OPTIONAL - 不要求验证模块必须成功。无论验证成功或失败,都将继续验证列表中的下一个验证模块。
这些标志建立了其定义的验证模块的执行标准。执行是有等级的:REQUIRED 等级最高,OPTION 等级最低。
例如,如果管理员使用 REQUIRED 标志定义 LDAP 模块,则用户的证书必须通过 LADP 验证要求才能访问指定的资源。
如果添加多个验证模块,并将每个模块的“标志”都设置成 REQUIRED,则用户必须通过所有验证要求才能被授予权限。
有关标志定义的更多信息,参阅 JAAS(Java 验证和授权服务),网址为:
http://java.sun.com/security/jaas/doc/module.html
选项。模块的其他选项,格式为“关键字=值”对。多个选项之间用空格分隔。
图 6-1
用于用户的“添加模块”列表窗口
- 选择了字段后,请单击“确定”返回“模块列表”窗口。此窗口中将列出已定义的验证模块。单击“保存”。
您可以根据需要将任意数目的验证模块添加到此列表。添加多个验证模块称为链式添加验证。如果要链式添加验证模块,请注意模块列出的顺序将决定执行的层次结构的顺序。有关链式添加验证的更多信息,参见验证模块链。
要更改验证模块的顺序,请执行以下步骤:
- 要从列表中移除任一验证模块,请选中验证模块旁边的复选框并单击“删除”。
验证模块链
可以配置一个或多个验证模块,因此用户必须将验证证书传递到所有模块。这称为验证链。Access Manager 中的验证链使用验证服务中集成的 JAAS 框架完成。模块链在“验证配置”服务下配置。每个注册的模块都被分配了以下四个值之一:
一旦链中的模块验证(根据标志的定义)成功,控制就会返回到验证服务(从 JAAS 框架),验证用于验证的所有用户 ID,并将它们映射到一个用户。映射通过在用户配置文件中配置用户别名列表属性来完成。如果所有映射正确,会给该用户发有效的会话标记;否则拒绝给该用户发有效的会话标记。以下属性代表以其他用户作为别名的单个验证的用户:
如果所有用户 ID 没有映射到同一个用户,将启用动态配置文件创建;如果其中一个用户 ID 存在于本地目录服务器中,则其他用户 ID 将添加到现有用户的用户别名列表属性中。
用于组织的验证配置
组织的验证模块是在首次将核心验证服务添加到该组织时设置的。
要配置组织的验证属性,请执行以下操作:
- 找到您将为其配置验证属性的组织。
- 从“查看”菜单中选择“服务”。
- 在服务列表中单击核心属性箭头。
“数据”窗格中将显示核心验证属性。
- 单击“管理员验证”属性旁边的“编辑”链接。此操作只允许您为管理员定义验证服务。如果需要将管理员的验证模块与最终用户的验证模块区别开来,则可以使用该属性。默认验证模块为 LDAP。
定义了验证服务之后,请单击“保存”以保存所作的更改,然后单击“关闭”返回组织的核心验证属性。
- 单击“组织验证配置”属性旁边的“编辑”链接。此操作允许您为组织中的所有用户定义验证模块。默认验证模块为 LDAP。
- 定义了验证服务之后,请单击“保存”以保存所作的更改,然后单击“关闭”返回组织的核心验证属性。
用于角色的验证配置
角色的验证模块是在角色级别添加了验证配置服务之后设置的。
- 找到您将为其配置验证属性的组织。
- 从“查看”菜单中选择“角色”。
- 选择要为其设置验证配置的角色并单击属性箭头。
“数据”窗格中将显示角色的属性。
- 从“数据”窗格的“查看”菜单中选择“服务”。
- 根据需要修改验证配置属性。您可以在第 33 章“验证配置服务属性”中,或通过单击控制台右上角的“帮助”链接找到这些属性的说明。
- 单击“保存”。
用于服务的验证配置
服务的验证模块是在添加了验证配置服务之后设置的。为此,请执行以下步骤:
- 从“身份认证管理”模块的“查看”菜单中选择“服务”。
将显示已添加服务的列表。如果未添加验证配置服务,请继续执行以下步骤。如果已添加了该服务,请跳到步骤 4。
- 在“浏览”窗格中单击“添加”。
“数据”窗格中将显示可用服务的列表。
- 选中验证配置的复选框并单击“添加”。
验证配置服务将显示在“浏览”窗格中,向管理员证实已添加了该服务。
- 单击验证配置属性箭头。
“数据”窗格中将显示“服务实例列表”。
- 单击要为其配置验证模块的服务实例。
- 修改验证配置属性并单击“保存”。您可以在第 33 章“验证配置服务属性”中,或通过单击控制台右上角的“帮助”链接找到这些属性的说明。
用于用户的验证配置
帐户锁定验证服务提供这样一项功能:在验证失败 n 次后将锁定用户。默认情况下此功能是关闭的,但可以使用 Access Manager 控制台启用。
核心验证服务包含用于启用和自定义此功能的属性,包括但不限于:
- 登录失败锁定模式 启用帐户锁定。
- 登录失败锁定计数 定义用户被锁定之前可以尝试验证的次数。此计数仅对单个用户 ID 有效;只有同一个用户 ID 失败指定的次数后才会被锁定。
- 登录失败锁定间隔 (以分钟为单位)定义在锁定用户之前必须达到“登录失败锁定计数”值的时间。
- 用于发送锁定通知的电子邮件地址 指定接收用户锁定通知的电子邮件地址。
- N 次失败后警告用户 指定在向用户显示警告消息之前可以发生的验证失败次数。这允许管理员在用户得到即将锁定的警告之后设置附加的登录尝试次数。
- 登录失败锁定时间 (以分钟为单位)定义用户在锁定后再次尝试验证所必须等待的时间。
- 锁定属性名称 定义用户配置文件中的哪一个 LDAP 属性针对物理锁定设置为 inactive。
- 锁定属性值定义在锁定属性名称 中指定的 LDAP 属性将设置为:inactive 或 active。
有关任何帐户锁定的电子邮件通知都会发送给管理员。(还会记录帐户锁定活动。)有关帐户锁定属性的更多信息,参见第 20 章“核心验证属性”。
注
有关在 Microsoft Windows 2000 操作系统中使用此功能的特殊说明,参见 Access Manager Developer's Guide 附录 A“AMConfig properties 文件”中的“简单邮件传输协议 (SMTP)”。
Access Manager 支持两种帐户锁定:物理锁定和内存锁定,具体在以下几节中定义。
物理锁定
这是 Access Manager 的默认锁定行为。锁定通过将用户配置文件中 LDAP 属性的状态改为非活动来启动。锁定属性名称属性定义用于锁定目的的 LDAP 属性。有关配置物理锁定的更多信息,参见 Sun Java System Access Manager 管理指南。
内存锁定
内存锁定通过将 Login Failure Lockout Duration 属性改为大于 0 的值来启用。用户的帐户会在内存中锁定指定的分钟数。帐户将在过了该时间段之后解除锁定。以下是使用内存锁定功能时的一些特殊注意事项:
验证服务故障转移如果主服务器因硬件或软件故障失败或者服务器被临时关闭,则验证服务故障转移会自动将验证请求重定向到辅助服务器。
必须首先在提供验证服务的 Access Manager 实例上创建验证环境。如果此 Access Manager 实例不可用,则可通过验证故障转移机制在其他的 Access Manager 实例上创建验证环境。验证环境将按以下顺序检查服务器可用性。
- 验证服务 URL 将被传递给 AuthContext API。例如:
AuthContext(orgName, url)
如果使用此 API,则它将仅使用由 URL 所引用的服务器。即使在该服务器中提供了验证服务,也不会进行故障转移。
- 验证环境将检查在 AMConfig.properties 文件的 com.iplanet.am.server* 属性中定义的服务器。
- 如果步骤 2 失败,则验证环境将从提供有命名服务的服务器查询平台列表。此平台列表是在安装共享同一个 Directory Server 实例的多个 Access Manager 实例(通常是为故障转移目的)时自动创建的。
例如,如果该平台列表包含 Server1、Server2 和 Server3 的 URL,则验证环境会在 Server1、Server2 和 Server3 之间循环,直到验证在其中一个服务器上成功为止。
平台列表不可能始终从同一个服务器获得,因为它取决于命名服务的可用性。而且,命名服务故障转移可能会首先进行。在 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 属性中配置的默认服务器名称。
FQDN 映射的可能用途
此属性可用于为多个主机名创建映射,这可能是服务器上的应用程序可由多个主机名访问。此属性也可用于将 Access Manager 配置为不对特定 URL 进行纠正操作。例如,如果无需重定向使用 IP 地址访问应用程序的用户,可以通过指定如下映射条目来实现此功能:
com.sun.identity.server.fqdnMap[IP address]=IP address
持久 Cookie持久 Cookie 是在 Web 浏览器关闭后继续存在的 Cookie,允许用户使用新的浏览器会话登录,而无需重新验证。Cookie 的名称由 AMConfig.properties 中的 com.iplanet.am.pcookie.name 属性定义;默认值是 DProPCookie。Cookie 值是 3DES 加密字符串,包含用户 DN、组织名称、验证模块名称、最长会话时间、空闲时间和高速缓存时间。要启用持久 Cookie,请执行以下步骤:
可以使用“验证 SPI”方法打开持久 Cookie 模式:
AMLoginModule.setPersistentCookieOn()
多个 LDAP 验证模块配置管理员可以在一个组织下定义多个 LDAP 验证模块配置,作为故障转移的形式或者在 Access Manager 控制台只提供一个值字段时为一个属性配置多个值。尽管这些附加配置无法通过控制台查看,但如果未找到对于请求用户的授权的初始搜索,这些配置将与主配置一起发挥作用。例如,一个组织可以定义在两个不同的域中搜索 LDAP 验证服务器,也可以在一个域中配置多个用户命名属性。对于后者,控制台中只有一个文本字段,如果使用主要搜索条件找不到用户,LDAP 模块将使用第二个范围搜索。以下是配置其他 LDAP 配置的步骤。
添加其他 LDAP 配置
- 编写一个 XML 文件,在其中包括完整的属性集和第二个(或第三个)LDAP 验证配置所需的新值。
可以通过查看 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>
- 复制纯文本密码,作为步骤 1 所创建的 XML 文件中的 iplanet-am-auth-ldap-bind-passwd 的值。
此属性的值在第 41 页的代码示例 1-2 中以粗体显示。
- 使用 amadmin 命令行工具装入 XML 文件。
./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.invalidMaxSessionTimeout 和 iplanet-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 编写和配置验证插件。
- 新的插件类将扩展 com.iplanet.am.sdk.AMUserPasswordValidation 类,并实现 validateUserID() 和 validatePassword() 方法。如果验证失败,应会抛出 AMException。
- 编译插件类,并将 .class 文件放在所需的位置。更新类路径,使其在运行时可供 Access Manager 访问。
- 以顶层管理员身份登录 Access Manager 控制台。单击“服务管理”选项卡,访问管理服务的属性。在 UserID & Password Validation Plugin Class 字段中键入插件类的名称(包括软件包名称)。
- 注销,然后登录。
JAAS 共享状态JAAS 共享状态可在验证模块之间共享用户 ID 和密码。为以下每个验证模块都定义了选项:
在失败时,模块会提示其需要的证书。在验证失败后,模块会停止运行,或者清除注销共享状态。
启用 JAAS 共享状态
要配置 JAAS 共享状态,请执行以下步骤:
在失败时,验证模块会根据 JAAS 规范中建议的 tryFirstPass 选项行为提示所需的证书。
JAAS 共享状态存储选项
要配置 JAAS 共享状态存储选项,请执行以下步骤:
在提交、中止或注销后,将清除共享状态。