快速业务通道

Java Web服务: WS-Security的细粒度使用 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19
g>   </wsp:All>   </wsp:ExactlyOne> </wsp:Policy>   </operation>    <operation mep="http://www.w3.org/ns/wsdl/in-out" name="addBook"    namespace="http://ws.sosnoski.com/library/wsdl">     <actionMapping>urn:addBook</actionMapping>     <outputActionMapping>      http://ws.sosnoski.com/library/wsdl/Library/addBookResponse     </outputActionMapping> <module ref="rampart"/> <wsp:Policy xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsu=    "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">   <wsp:ExactlyOne>   <wsp:All>    <ramp:RampartConfig xmlns:ramp="http://ws.apache.org/rampart/policy">    <ramp:user>serverkey</ramp:user>    ...    </ramp:RampartConfig>   </wsp:All>   </wsp:ExactlyOne> </wsp:Policy>   </operation>   </service> </serviceGroup>

Java Web服务: WS-Security的细粒度使用(4)

时间:2011-02-03 IBM Dennis Sosnoski

在 清单 5 中,可以看到一个 Rampart 模块引用和一个服务器配置策略的副本被添加到使用 WS-Security 的两个操作的定义中,这两个操作分别为 getBooksByType 和 addBook。这些修改将服务配置为只针对这两个操作使用 Rampart,并对 Rampart 的键和证书访问使用提供的设置。

如果构建生成的 AAR 文件并部署到一个 Axis2 服务器安装中,可以在 Administration/Available Services 页面中看到这些操作的结果,在这个页面中,将列出由服务定义的每个操作使用的模块。如果运行客户机代码并监视消息交换(使用 TCPMon 之类的工具,像 “Axis2 WS-Security 基础” 中描述的那样),您会看到安全处理将按照我们的期望运行:

getBook 消息中不存在 WS-Security 头部

getBooksByType 请求消息中有一个包含 UsernameToken 的 WS-Security 头部

addBook 请求(而不是响应)消息中有一个包含签名的 WS-Security 头部

Axis2/Rampart 限制

Axis2 和 Rampart 目前(也就是说,使用最新的 Axis2 1.5 发行版和一个 Rampart 夜间构建版)能够处理 WSDL 中内嵌的基本 WS-SecurityPolicy 配置,包括在操作或消息级别定义的粒度策略。然而,本文尝试的一些配置无法用于 Axis2/Rampart。例如,尝试为 addBook 操作设置 UsernameToken 策略(除了对输入消息使用签名策略外),结果将导致一个明显与 Rampart 代码加密有关的错误(即使没有使用任何加密)。从这些经验以及一些问题报告中可以判断出,Axis2/Rampart WS-SecurityPolicy 处理适合用于可以反映常见用例的简单配置,但是当应用到不常见的组合时,却容易出现错误。

另一个问题是,在服务器上使用 Rampart 产生的开销始终会出现在请求和响应处理中,即使您只对其中一条消息应用 WS-Security(像 “WS-Security 的大开销” 所讨论的那样)。在客户端,情况更糟糕 — 因为在客户机上使用 Rampart 目前是一种全有或全无的主张,如果在任何 操作上使用 WS-Security,那么不得不忍受每个 操作中产生的 Rampart 开销。

最后,目前的 Axis2/Rampart WS-Policy 处理并不支持策略替代方案。替代选择是 WS-Policy 设计的一个主要特点,使客户机在访问服务时可以从两个或多个可行配置中选择要使用的配置。Axis2/Rampart 策略实现并不支持这个

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号