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

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

- Web 认证模块和轻量级第三方认证 (LTPA) 机制为信任关联拦截器提供了插件运行时框架。 请参阅 配置 LTPA 机制 ,以获取有关配置 LTPA 机制以与 SPNEGO TAI 配合使用的更多详细信息。
- Java 通用安全服务 (JGSS) 提供程序包含在 Java SDK (
jre/lib/ibmjgssprovider.jar
) 中,用于获取用于认证的 Kerberos 安全上下文和凭证。 IBM® JGSS 1.0 是一个以 Kerberos V5 作为底层缺省安全机制的 Java 通用安全服务应用程序编程接口 (GSSAPI) 框架。 GSSAPI 是一个标准的抽象接口,可以基于专用密钥、公用密钥和其他安全性技术在该接口中插入不同的安全性机制。 GSSAPI 可使安全应用程序不必考虑各种底层安全性机制的复杂性和特殊性。 GSSAPI 提供了标识和消息来源认证、消息完整性和消息机密性。app_server_root/java/endorsed/ibmjgssprovider.jar
- 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 管理员负责配置 SPNEGO TAI WebSphere Application Server响应客户端的HTTP请求。
- WebSphere Application Server 管理员
- WebSphere Application Server 管理员负责配置 WebSphere Application Server 和 SPNEGO TAI 以实现最佳安装性能。