令牌生成器的通用安全性令牌登录模块
进行 Web service 请求时,应用程序服务器将作为 Web Service 安全性认证过程的一部分来为令牌生成器调用通用安全登录模块。
登录模块通过 WS-Trust Issue 或 WS-Trust Validate 请求将令牌生成过程委派给安全性令牌服务 (STS)。STS 处理请求并将 RequestSecurityTokenResponse 消息返回到登录模块。登录模块包括 Web service 请求消息的安全头中 STS 响应消息中的令牌。如果未返回令牌或者 STS 调用中发生错误,那么登录模块将生成一个 LoginException 消息,并且错误将返回到 Web service 客户机。
- 入局或出局安全性令牌为不同令牌类型时交换安全性令牌
- 将一个身份映射到另一个身份时交换安全性令牌
- 对授权检查进行评估以确保允许已认证的用户调用目标 Web service
- 从 RunAs Subject 中调用令牌交换,或者由 Web Service 安全性运行时环境生成令牌交换。 交换是基于为信任请求配置的策略集和绑定。
- 指定 Java™ 认证和授权服务 (JAAS) 登录配置名称
- 指定回调处理程序类名
受支持的令牌类型
- 您可以指定任何令牌类型,前提是其 ValueType 值可以由指定的 STS 来处理。根据您使用的 STS,令牌类型可能包括:
- 安全性断言标记语言 (SAML) 2.0
- SAML 1.1
- 用户名
- 通行票
- Kerberos
- 轻量级第三方认证 (LTPA)
- Tivoli® Access Manager 凭证
- 在 SOAP 消息中发送到服务提供程序的请求令牌是策略中指定的令牌。
- 此令牌只能用于认证。不能将此令牌用作保护令牌。对于 SAML V2.0、1.1 和 1.0,仅支持 bearer 和发送凭单确认方法。
您可以将令牌生成器的通用安全性令牌登录模块配置为使用 WS-Trust Issue 或 WS-Trust Validate 请求以交换或验证安全性令牌。这两个选项在后续部分中描述。
WS-Trust Issue
- 当前安全上下文中的 RunAs Subject
- 回调处理程序是在信任客户机策略集的绑定中配置
WS-Trust Validate
- SAML 2.0
- SAML 1.1
- Username
- 通行票
- Kerberos
- LTPA
- LTPA V2
使用 WS-Trust Issue 或 WS-Trust Validate
- 当前安全上下文中存在 RunAs Subject
- 仅存在一个其值类型与请求令牌的 ValueType 值相匹配的安全性令牌
此外,您可以从 RunAs Subject 中选择令牌以进行验证并将其与请求的令牌进行交换。所选令牌可以具有与请求的令牌不同的 ValueType 值。有关更多信息,请参阅为 Web Service 安全性过程的令牌生成器端中认证令牌配置通用安全性令牌登录模块的文档。

- LTPA 或 LTPA V2 安全性令牌在 RunAs Subject 中不存在。
- WSCredential 在 RunAs Subject 中存在。
如果与请求令牌的 ValueType 相匹配的 RunAs 主体集中仅具有一个安全性令牌,那么您可以将登录模块配置为不调用 WS-Trust 验证请求,从而不验证匹配的令牌。改为登录模块将匹配令牌发送到下游服务提供程序,而不进行验证。
通用安全性令牌登录模块自动使用 WS-Trust Issue 请求令牌,前提是满足以下条件:- RunAs Subject 不存在
- 匹配的令牌 ValueType 值在 RunAs Subject 中不存在
- 登录模块无法验证来自 RunAs Subject 的令牌
某个配置选项在通用登录模块中强制使用 WS-Trust Issue 或 WS-Trust Validate。有关更多信息,请参阅为 Web Service 安全性过程的令牌生成器端中认证令牌配置通用登录模块的文档。
sptcfg策略集
通用安全性令牌登录模块的实现在策略集中不会涉及到新令牌类型。例如,如果您计划使用通用登录模块来生成用户名令牌,那么您可以创建一个将用户名令牌指定为认证令牌的策略集。现有缺省系统登录模块中不支持某些定制令牌类型。但是,您可以使用定制登录模块来实现这些令牌类型。如果指定 STS 支持这些定制令牌类型,那么这些定制令牌类型也受通用安全性令牌登录模块支持。
绑定
- 使用通用登录模块。
- 使用现有系统缺省登录模块。
- 创建您自己的定制登录模块。
例如,如果您配置用户名令牌,那么可以使用 wss.generate.unt JAAS 登录配置并保持现有行为。但是,您可以配置 wss.generate.issuedToken JAAS 登录以使用通用安全性令牌登录模块。