使用 SPNEGO Web 认证创建 HTTP 请求的单点登录

对 WebSphere® Application Server 使用简单且受保护的 GSS-API 协商机制 (SPNEGO) Web 认证以便为 HTTP 请求创建单点登录时,需要执行一些不同但相关的功能,完成时,允许 HTTP 用户登录 Microsoft 域控制器,仅在其桌面上向其认证一次,并从 WebSphere Application Server 接收自动认证。

开始之前

注:

在 WebSphere Application Server V6.1 中引入了一个信任关联拦截器 (TAI),TAI 使用“简单且受保护的 GSS-API 协商机制” (SPNEGO) 来对安全资源的 HTTP 请求进行安全地协商和认证。建议在 WebSphere Application Server V7.0 中不要使用此功能。SPNEGO Web 认证已取代此功能,以提供下列增强功能:

  • 可以使用管理控制台在 WebSphere Application Server 服务器端配置和启用 SPNEGO Web 认证和过滤器。
  • 动态重新装入 SPNEGO,而不必停止和重新启动 WebSphere Application Server 服务器。
  • 如果 SPNEGO Web 认证失败,那么将回退至应用程序登录方法。

可以启用 SPNEGO TAI 或 SPNEGO Web 认证,但不能同时启用这两项。

请参阅使用 SPNEGO Web 认证针对 HTTP 请求进行单点登录以更好地了解 SPNEGO Web 认证的含义以及在此版本的 WebSphere Application Server 中如何支持 SPNEGO Web 认证。

开始本任务前,请完成以下核对表:

  • [Windows]正在运行 Active Directory 域控制器及关联的 Kerberos 密钥分发中心 (KDC) 的 Microsoft Windows Server。
  • [Windows]支持 SPNEGO 认证机制(在 IETF RFC 2478 中定义)的 Microsoft Windows 域成员(客户机),例如,浏览器或 Microsoft .NET 客户机。Microsoft Internet Explorer V5.5 或更高版本和 Mozilla Firefox V1.0 可作为此类客户机。
    要点: 需要正在运行的域控制器,并且该域至少具有一个客户机。不支持直接从域控制器使用 SPNEGO。
  • 域成员具有可登录此域的用户。具体地说,您需要正常工作且包括以下各项的 Microsoft Windows Active Directory 域:
    • 域控制器
    • 客户机工作站
    • 可登录客户机工作站的用户
  • 具有正在运行的 WebSphere Application Server 并启用了应用程序安全性的服务器平台。
  • Active Directory 上的用户必须能够使用本机 WebSphere Application Server 认证机制来访问 WebSphere Application Server 保护的资源。
  • 域控制器和 WebSphere Application Server 主机的本地时间应相同。
  • 确保客户机、Microsoft Active Directory 和 WebSphere Application Server 上的时钟已同步,误差不超过 5 分钟。
  • 请注意,必须对客户机浏览器启用 SPNEGO,可对客户机应用程序所在机器执行此操作(过程 4“在客户机应用程序所在的机器上配置客户机应用程序”中说明了详细信息)。

关于此任务

此机器排列的目标是允许用户成功访问 WebSphere Application Server 资源,这样不必再次认证,即可实现 Microsoft Windows 桌面单点登录功能。

在配置此环境的成员以建立 Microsoft Windows 单点登录时,应该对三个不同机器执行特定活动:
  • 正在运行 Active Directory 域控制器及关联的 Kerberos 密钥分发中心 (KDC) 的 Microsoft Windows Server。
  • Microsoft Windows 域成员(客户机应用程序),例如,浏览器或 Microsoft .NET 客户机。
  • 具有正在运行的 WebSphere Application Server 的服务器平台。

继续完成以下步骤,以使用 SPNEGO Web 认证对 HTTP 请求创建单点登录:

过程

  1. 在 Microsoft 域控制器上创建 Kerberos 服务主体 (SPN) 和密钥表文件
    1. 必须配置域控制器以通过对 WebSphere® Application Server 使用简单且受保护的 GSS-API 协商机制 (SPNEGO) Web 认证来对 HTTP 请求创建单点登录。配置正在运行 Active Directory 域控制器及关联 Kerberos 密钥分发中心 (KDC) 的 Microsoft Windows Server。请阅读“配置域控制器机器以使用 SPNEGO 为 HTTP 请求创建单点登录”一文以获取更多信息。
  2. 创建 Kerberos 配置文件
    1. Java™ 类属安全性服务 (JGSS) 和 KRB5 的 IBM® 实现在每个节点或 Java 虚拟机 (JVM) 上都需要有 Kerberos 配置文件(krb5.confkrb5.ini)。在本发行版的 WebSphere Application Server 中,应该将此配置文件放置到 config/cells/<cell_name> 目录中,以便所有应用程序服务器都可以访问此文件。如果没有 Kerberos 配置文件,请使用 wsadmin 命令来创建一个。 有关更多信息,请参阅“创建 Kerberos 配置”一文。
  3. 在 WebSphere Application Server 机器上使用管理控制台配置并启用 SPNEGO Web 认证
    1. 通过在 WebSphere Application Server 机器上使用管理控制台,可启用并配置简单且受保护的 GSS-API 协商 (SPNEGO) 作为应用程序服务器的 Web 认证器。 有关更多信息,请参阅“使用管理控制台启用并配置 SPNEGO Web 认证”一文。
  4. 在客户机应用程序所在的机器上配置客户机应用程序
    1. 客户端应用程序负责生成 SPNEGO 令牌。通过将 Web 浏览器配置为使用 SPNEGO 认证来开始此配置过程。 有关更多信息,请参阅“配置客户端浏览器以使用 SPNEGO”一文。
  5. 为 J2EE、.NET、Java、Web Service 客户机创建用于 HTTP 请求的 SPNEGO 令牌(可选)
    1. 可以为您的应用程序创建“简单且受保护的 GSS-API 协商”(SPNEGO) 令牌并将此令牌插入到 HTTP 头中,以向 WebSphere Application Server 认证。 有关更多信息,请参阅“为 J2EE、.NET、Java、Web Service 客户机创建用于 HTTP 请求的 SPNEGO 令牌”一文。

指示主题类型的图标 任务主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tsec_SPNEGO_overview
文件名:tsec_SPNEGO_overview.html