Sun Java System Access Manager 7 2005Q4 管理指南

Windows 桌面 SSO

Windows 桌面 SSO 验证模块是一个基于 Kerberos 的验证插件模块,用于 Windows 2000™。它允许已通过 Kerberos 分发中心 (KDC) 验证的用户无需重新提交登录条件即可验证到 Access Manager(单一登录)。

用户通过 SPNEGO(简单且受保护的 GSS-API 协商机制)协议向 Access Manager 提交 Kerberos 令牌。要通过此验证模块执行基于 Kerberos 的 Access Manager 单点登录,用户必须在客户机端支持 SPNEGO 协议以验证本身。一般而言,支持此协议的任何用户应该都能使用此模块验证 Access Manager。根据客户机端令牌的可用性,此模块提供 SPENGO 令牌或 Kerberos 令牌(这两种情况下协议是相同的)。 在 Windows 2000(或更高版本)上运行的 Microsoft Internet Explorer(5.01 或更高版本)当前支持此协议。此外,Solaris(9 和 10)上的 Mozilla 1.4 支持 SPNEGO,但返回的令牌只有一个 KERBEROS 令牌,因为 SPNEGO 在 Solaris 上不受支持。


注 –

必须使用 JDK 1.4 或更高版本利用 Kerberos V5 验证模块和 Java GSS API 的新功能,以执行此 SPNEGO 模块中基于 Kerberos 的 SSO。


Internet Explorer 的已知限制

如果在进行 WindowsDesktopSSO 验证时使用 Microsoft Internet Explorer 6.x,并且浏览器不能访问与 WindowsDesktopSSO 模块中配置的 (KDC) 领域匹配的用户 kerberos/SPNEGO 令牌,则浏览器在验证 WindowsDesktopSSO 模块失败后无法对其他模块实施正确的行为。问题的直接原因是:在 Internet Explorer 验证 WindowsDesktopSSO 模块失败后,浏览器若未重新启动,将无法传送回叫(其他模块的)给 Access Manager,即使系统提示该回叫。因此,WindowsDesktopSSO 后的所有模块都将因无效的用户证书而失败。

相关信息,请参阅以下文档:

http://support.microsoft.com/default.aspx?scid=kb;en-us;308074

http://www.wedgetail.com/jcsi/sso/doc/guide/troubleshooting.html#ieNTLM

配置 Windows 桌面 SSO

启用 Windows 桌面 SSO 验证分为两个步骤:

  1. 在 Windows 2000 域控制器中创建用户。

  2. 设置 Internet Explorer。

Procedure在 Windows 2000 域控制器中创建用户

步骤
  1. 在域控制器中,为 Access Manager 验证模块创建用户帐户。

    1. 从“开始”菜单中,转至“程序”>“管理工具”。

    2. 选择“活动目录用户”和“计算机”。

    3. 以 Access Manager 主机名作为用户 ID(登录名)创建新用户。Access Manager 主机名不应该包含域名。

  2. 在用户帐户与服务提供者名称间建立关联,并将键表文件导出至装有 Access Manager 的系统。为此,请运行以下命令:


    ktpass -princ host/hostname.domainname@DCDOMAIN -pass password -mapuser userName-out 
    
    hostname.host.keytab
    
    ktpass -princ HTTP/hostname.domainname@DCDOMAIN -pass 
    
    password -mapuser userName-out hostname
    
    .HTTP.keytab

    ktpass 命令接受以下参数:

    hostname。运行 Access Manager 的主机名(不含域名)。

    domainname。Access Manager 的域名。

    DCDOMAIN。域控制器的域名。它可能与 Access Manager 域名不同。

    password。用户帐户的密码。请确保密码正确,因为 ktpass 不校验密码。

    userName。用户帐户 ID。它应与主机名相同。


    注 –

    确保两个键表文件都已安全保管。


    服务模板的值应与以下示例类似:

    服务负责人: HTTP/machine1.EXAMPLE.COM@ISQA.EXAMPLE.COM

    Keytab 文件名:/tmp/machine1.HTTP.keytab

    Kerberos 领域: ISQA.EXAMPLE.COM

    Kerberos 服务器名:machine2.EXAMPLE.com

    返回带有域名的负责人:false

    验证级别: 22

  3. 重新启动服务器。

Procedure设置 Internet Explorer

以下步骤适用于 Microsoft Internet Explorer™ 6 及更高版本。如果您使用的是较早版本,请确保 Access Manager 位于浏览器的 Internet 区域并启用“本地 Windows 验证”。

步骤
  1. 在“工具”菜单中,转至“Internet 选项”>“高级”/”安全”>“安全”。

  2. 选择“集成的 Windows 验证”选项。

  3. 转至“安全”>“本地 Intranet”。

    1. 选择“自定义级别”。在“用户验证/登录”面板中,选择“只在 Intranet 区域自动登录”选项。

    2. 转到“站点”并选择所有选项。

    3. 单击“高级”,将 Access Manager 添加到本地区域(如果尚未添加)。