使用 SPNEGO TAI(不推荐使用)的 HTTP 请求的单点登录
WebSphere® Application Server 提供了一个信任关联拦截器 (TAI),该 TAI 使用“简单且受保护的 GSS-API 协商机制”(SPNEGO) 对 WebSphere Application Server 中的安全资源的 HTTP 请求进行安全地协商和认证。

在 WebSphere Application Server V6.1 中引入了信任关联拦截器 (TAI),TAI 使用“简单且受保护的 GSS-API 协商机制”(SPNEGO) 来对安全资源的 HTTP 请求进行安全地协商和认证。在 WebSphere Application Server 7.0 中,现在已不推荐使用此功能。SPNEGO Web 认证已取代该 TAI,以提供动态重新装入 SPNEGO 过滤器的功能以及对应用程序登录方法启用回退。
请参阅使用 SPNEGO Web 认证创建 HTTP 请求的单点登录以了解更多信息。
depfeatSPNEGO 是简单且受保护的 GSS-API 协商机制 (IETF RFC 2478) 中定义的一项标准规范。
HTTP 用户在其桌面上只进行一次登录和认证,然后将(在内部)向 WebSphere Application Server 进行认证。对于 WebSphere 应用程序的最终用户来说,SPNEGO TAI 是不可视的。SPNEGO TAI 仅对于 Web 管理员是可视的,Web 管理员负责维护 Web 环境并确保它具有正确的配置和容量。
具有 Active Directory 域和相关联的 Kerberos 密钥分发中心 (KDC) 的 Microsoft Windows Server。有关受支持 Microsoft Windows Server 的信息,请参阅“Windows 上的 WebSphere Application Server V9.0 的系统需求”。
- 支持 IETF RFC 2478 中定义的 SPNEGO 认证机制的客户机应用程序,如浏览器或 Microsoft .NET 客户机。Microsoft Internet Explorer V5.5 或更高版本以及 Mozilla Firefox V1.0 是浏览器示例。任何浏览器都需要配置为使用 SPNEGO 机制。有关执行此配置的更多信息,请参阅将客户端浏览器配置为使用 SPNEGO TAI(不推荐)。
下图中说明了提问应答握手过程:

- 设置 Kerberos 配置属性。请参阅Kerberos 配置文件。
- 设置或调整 SPNEGO TAI 定制属性。请参阅SPNEGO TAI 定制属性配置(不推荐)。
- 调整 SPNEGO TAI 过滤器设置。请参阅在 WebSphere Application Server 中配置 JVM 定制属性、过滤 HTTP 请求和启用 SPNEGO TAI(不推荐)
- 使用定制登录模块将标识从 Active Directory 映射至 WebSphere Application Server 注册表。请参阅为了 SPNEGO 而将用户标识从客户机映射至服务器。
- 设置主要的和附加的 Java 虚拟机 (JVM) 定制属性。请参阅SPNEGO TAI JVM 配置定制属性(不推荐)
Web 管理员对下列 SPNEGO TAI 安全性组件及相关配置数据具有访问权,如下图中所述。

- Web 认证模块和轻量级第三方认证 (LTPA) 机制为信任关联拦截器提供了插件运行时框架。有关配置 LTPA 机制以与 SPNEGO TAI 配合使用的更多详细信息,请参阅配置轻量级第三方认证机制。
- Java 类属安全性服务 (JGSS) 提供程序包含在 Java SDK (
jre/lib/ibmjgssprovider.jar
app_server_root/java/endorsed/ibmjgssprovider.jar) 中,用来获取用于认证的 Kerberos 安全上下文和凭证。IBM® JGSS 1.0 是一个 Java 类属安全性服务应用程序编程接口 (GSSAPI) 框架,它将 Kerberos V5 作为底层的缺省安全性机制。GSSAPI 是一个标准的抽象接口,可以基于专用密钥、公用密钥和其他安全性技术在该接口中插入不同的安全性机制。GSSAPI 可使安全应用程序不必考虑各种底层安全性机制的复杂性和特殊性。GSSAPI 提供了标识和消息来源认证、消息完整性和消息机密性。有关更多信息,请参阅 JGSS。
- Kerberos 配置属性(krb5.conf 或 krb5.ini)和
Kerberos 加密密钥(存储在 Kerberos 密钥表文件中)用来建立相互之间的安全认证。
作为 JGSS 一部分的 Kerberos 密钥表管理器 (Ktab) 允许您管理存储在本地 Kerberos 密钥表文件中的主体名称和服务密钥。Kerberos 密钥表文件中列示的主体名称和密钥对允许在主机上运行的服务向 Kerberos 密钥分发中心 (KDC) 认证它们自己。在服务器可以使用 Kerberos 之前,必须在运行该服务器的主机上初始化 Kerberos 密钥表文件。
使用 ktab 命令来管理 Kerberos 密钥表文件重点描述了 SPNEGO TAI 的 Kerberos 配置要求以及 Ktab 的使用。
- SPNEGO 提供程序提供了 SPNEGO 认证机制的实现(位于
/$WAS_HOME/java/jre/lib/ext/ibmspnego.jar
app_server_root/java/ext/ibmspnego.jar 中)。
- 定制配置属性用于控制 SPNEGO TAI 的运行时行为。配置操作是使用管理控制台或脚本编制工具来执行的。有关这些定制配置属性的更多信息,请参阅 SPNEGO TAI 定制属性配置(不推荐)。
- Java 虚拟机 (JVM) 定制属性控制诊断跟踪信息以对 JGSS 安全提供程序进行问题确定,并控制如何使用属性重新装入功能。SPNEGO TAI JVM 配置定制属性(不推荐) 描述了这些 JVM 定制属性。
会建立使用 Active Directory 域并具有 Microsoft Windows Server 的集成单点登录环境。
- 会降低管理大量标识和密码的成本。
- 对于来自 Web 浏览器或 Microsoft .NET 客户机的安全凭证,将安全地传输这些凭证并且互相进行认证。
- 能够与在传输层使用 SPNEGO 认证的 Web Service 和 Microsoft .NET 应用程序进行互操作。
- 浏览器最终用户
- 最终用户必须配置 Web 浏览器或 Microsoft .NET 应用程序,以发出由 SPNEGO TAI 来处理的 HTTP 请求。
- Web 管理员
- Web 管理员负责配置 WebSphere Application Server 的 SPNEGO TAI,以对来自客户机的 HTTP 请求作出响应。
- WebSphere Application Server 管理员
- WebSphere Application Server 管理员负责配置 WebSphere Application Server 和 SPNEGO TAI 以获得最佳安装性能。