令牌类型概述
Web Service 安全性定义各种类型的安全性令牌。部署描述符扩展文件定义了消息可以接受的令牌类型。
要点: V5.x 与 V6.0.x 及更高版本的应用程序之间存在重要差别。这些信息仅支持与 WebSphere® Application Server V6.0.x 和更高版本配合使用的 V5.x 应用程序。本信息不适用于 V6.1x 和更高版本的应用程序。
Web Service 安全性定义的各种类型的安全性令牌包括:
- 用户名令牌
- 二进制安全性令牌
用户名令牌由用户名和密码信息(可选)组成。您可以在消息的 <Security> 头中直接包含用户名令牌。二进制令牌如 X.509 证书、Kerberos 凭单、轻量级第三方认证 (LTPA) 令牌或其他非 XML 格式,为了使之包含有关内容都需要对它们进行特殊编码。Web Services 安全规范描述如何编码二进制安全性令牌(例如,X.509 证书和 Kerberos 凭单);它还描述如何包含不透明密钥。该规范还包含可用来进一步描述与消息包含在一起的凭证的特征的可扩展性机制。
WebSphere Application Server V5.0.2 支持用户名令牌,它包含用于基本认证的用户名和密码,以及用于身份断言的用户名。WebSphere Application Server V5.0.2 二进制安全性令牌实现支持同时 X.509 证书和 LTPA 二进制安全性。您扩展实现以生成其他类型的令牌。但是,WebSphere Application Server V5.0.2 中不支持 Kerberos 凭单。每种类型的令牌都由相应的令牌生成和验证模块处理。二进制令牌生成和验证模块是可插入的,它基于 Java™ 认证和授权服务 (JAAS) 框架。例如,使用 JAAS 可插入的框架支持任意基于 XML 的令牌格式。WebSphere Application Server V5.0.2 不支持在 SecurityTokenReference 中所用的基于 XML 的令牌。
您可在部署描述符扩展文件 ibm.webservices-ext.xmi 中定义消息可接受的令牌类型。消息接收方可以支持一种或多种类型的安全性令牌。以下示例显示接收方支持四种类型的安全性令牌:
要点: 在以下代码样本中,由于打印页宽度的问题,有几行被分割成多行。请查看右括号以了解每行代码在哪里结束。
?xml version="1.0" encoding="UTF-8"?>
<com.ibm.etools.webservice.wsext:WsExtension xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI"
xmlns:com.ibm.etools.webservice.wsext=
"http://www.ibm.com/websphere/appserver/schemas/5.0.2/wsext.xmi"
xmi:id="WsExtension_1052760331306" routerModuleName="StockQuote.war">
<wsDescExt xmi:id="WsDescExt_1052760331306" wsDescNameLink="StockQuoteFetcher">
<pcBinding xmi:id="PcBinding_1052760331326" pcNameLink="urn:xmltoday-delayed-quotes"
scope="Session">
<serverServiceConfig
xmi:id="ServerServiceConfig_1052760331326"actorURI="myActorURI">
<securityRequestReceiverServiceConfig
xmi:id="SecurityRequestReceiverServiceConfig_1052760331326">
<loginConfig xmi:id="LoginConfig_1052760331326">
<authMethods xmi:id="AuthMethod_1052760331326" text="BasicAuth"/>
<authMethods xmi:id="AuthMethod_1052760331327" text="IDAssertion"/>
<authMethods xmi:id="AuthMethod_1052760331336" text="Signature"/>
<authMethods xmi:id="AuthMethod_1052760331337" text="LTPA"/>
</loginConfig>
<idAssertion xmi:id="IDAssertion_1052760331336" idType="Username" trustMode="Signature"/>
在发送消息时消息发送方可选择一种接收方支持的令牌类型。您可在客户机描述符扩展文件 ibm-webservicesclient-ext.xmi 中定义要由发送端使用的令牌类型。以下示例显示发送方选择向接收方发送 UsernameToken:
要点: 在以下代码样本中,由于打印页宽度的问题,有几行被分割成多行。请查看右括号以了解每行代码在哪里结束。
<?xml version="1.0" encoding="UTF-8"?>
<com.ibm.etools.webservice.wscext:WsClientExtension xmi:version="2.0"
mlns:xmi="http://www.omg.org/XMI"
xmlns:com.ibm.etools.webservice.wscext=
"http://www.ibm.com/websphere/appserver/schemas/5.0.2/wscext.xmi"
xmi:id="WsClientExtension_1052760331496">
<ServiceRefs xmi:id="ServiceRef_1052760331506" serviceRefLink="service/StockQuoteService">
<portQnameBindings xmi:id="PortQnameBinding_1052760331506"
portQnameLocalNameLink="StockQuote">
<clientServiceConfig xmi:id="ClientServiceConfig_1052760331506"
actorURI="myActorURI">
<securityRequestSenderServiceConfig
xmi:id="SecurityRequestSenderServiceConfig_1052760331506" actor="myActorURI">
<loginConfig xmi:id="LoginConfig_1052760331506" authMethod="BasicAuth"/>