Web Services Secure Conversation 的范围限定

Web Services Secure Conversation 支持两种作用域限定机制:缺省机制和 Java™ API for XML Web Services (JAX-WS) 客户机服务级别。

请复审以下关于两种作用域限定机制的信息,以确保 WebSphere® Application Server 的安全对话和策略集的作用域限定正确。

缺省

缺省范围基于集群、应用程序、模块和目标服务端点。对于在瘦客户机环境中运行的客户机,将它看作单个应用程序、集群和模块。

在此范围限定方式中,同一目标服务端点中特定应用程序、集群、模块的所有 JAX-WS 客户机实例共享同一个安全对话。例如,在下图中,两个客户机实例(客户机 1 与客户机 2)在同一个模块中。客户机 1 和客户机 2 共享与服务 1 的同一个受保护对话。与客户机 1 和客户机 2 不在同一个模块上的另外两个客户机实例(客户机 3 和客户机 4)互相共享受保护对话,但不能与客户机 1 和客户机 2 共享受保护对话。

应用程序 A 包含客户机 1 和客户机 2,应用程序 B 包含客户机 3 和客户机 4,以及服务 1,每个客户机与服务 1 之间存在受保护对话线。

JAX-WS 客户机服务级别

通过在客户机应用程序请求(应用程序出站)的安全对话令牌 (SCT) 的令牌生成者绑定配置中指定属性,可以启用 JAX-WS 客户机服务级别的范围。该绑定位于已部署应用程序的 META-INF 中。

例如,如果应用程序为 WSSampleClientBeta.ear 并且绑定目录为 SecureConversation123binding,那么绑定文件将位于以下位置:
$PROFILE_DIR/config/cells/<cellname>/WSSampleClientBeta.ear/deployments/WSSampleClientBeta
/META-INF/SecureConversation123binding/PolicyTypes/WSSecurity/bindings.xml.

配置的示例如下:

<tokenGenerator name="gen_enctgen" 
      classname="com.ibm.ws.wssecurity.wssapi.token.impl.CommonTokenGenerator">
   <valueType localName="http://schemas.xmlsoap.org/ws/2005/02/sc/sct" uri="" />
      <callbackHandler classname="com.ibm.ws.wssecurity.impl.auth.callback.WSTrustCallbackHandler">
         <properties name="com.ibm.ws.wssecurity.sc.SCTScope" value="SERVICE_SCOPE"/>
      </callbackHandler>
         <properties name="com.ibm.ws.wssecurity.sc.dkt.ServiceLabel" value="WSC"/>
         <properties name="com.ibm.ws.wssecurity.sc.dkt.ClientLabel" value="WSC"/>
            <jAASConfig configName="system.wss.generate.sct"/>
</tokenGenerator>

以下代码演示启用该属性(它在客户机应用程序请求(应用程序出站)的 SCT 的令牌生成者绑定配置中)后的行为。在此方式中,Web Service 安全对话的范围限定为 JAX-WS 客户机服务实例。

QName serviceQname = new QName("http://ws.apache.org/axis2", "EchoService");
QName portQname = new QName("http://ws.apache.org/axis2", "EchoServicePort");
String endpointUrl = "http://myhost/......";
Service svc1 = Service.create(serviceQname);
svc1.addPort(portQname, null, endpointUrl);
Dispatch<Source> dispatch = svc1.createDispatch(portQname, Source.class, null);
…… 
…… 
Service svc2 = Service.create(serviceQname);
svc2.addPort(portQname, null, endpointUrl);
Dispatch<Source> dispatch = svc2.createDispatch(portQname, Source.class, null);

其中 svc1svc2 与目标服务端点在两个不同安全对话中。

可使用管理控制台或通过使用脚本编制添加属性来更改范围。


指示主题类型的图标 概念主题



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