快速业务通道

Java Web服务: Metro服务下的WS-Security - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16

Java Web服务: Metro服务下的WS-Security

时间:2011-07-25 IBM Dennis Sosnoski

正如 “Metro 简介” 所述,JAXB 2.x 数据绑定的参考实现和 JAX-WS 2.x 网络服务规范是 Metro 网络服务框架的核心。但是 JAXB 与 JAX-WS 本身只提供基本的网络服务支持,JAX-WS 并不包括 WS-* 技术,不能升级 SOAP 以便在企业级应用环境中工作,所以需要一些其他的软件组件来支持 WS-* 技术。

在 Metro 中,添加的主要组件是 Web 服务互操作性技术(Web Services Interoperability Technologies,WSIT)。WSIT 是原来称为 Project Tango 的当前版本,Project Tango 是 Sun 公司为 实现某些 WS-* 特性(包括安全可靠的消息传递)与 Microsoft .NET 平台之间的互操作性而付出的努力 。WSIT 向 Metro 提供 WS-SecurityPolicy、WS-Trust、WS-SecureConversation、WS- ReliableMessaging 等服务规范支持。而 WS-Security 的实际运行时处理由另外一个添加的组件 —— XML and WebServices Security Project (XWSS) 来实现。

本文展示如何通过 Metro 来使用和配置 WS-Security,将其作为一个独立的 Web 应用程序在 Glassfish 服务器外部使用。参见 下载 部分获取本文中的全部示例的完整源代码,该代码实现了此前在 本系列中使用的简单图书馆管理服务。

WSIT 基础

WSIT 负责配置 Metro 运行时以匹配一个服务的 WS-Policy 规范,包括诸如 WS-SecurityPolicy 之 类的 WS-Policy 扩展。除标准的 WS-Policy 扩展外,Metro 还使用策略文档中的自定义扩展来配置实现 安全处理所需的用户信息(如密匙存储位置和密码)。

WSIT 从 Web Services Description Language (WSDL) 服务描述中获取策略信息。在客户端,这可能 难以理解一些,因为用于 WSIT 配置的 WSDL 与用于定义 JAX-WS 服务的 WSDL 是分开的。如 “Metro 简介” 所述,用于配置 JAX-WS 客户端的 WSDL 可以直接从服务获取,也可以从生成 JAX-WS 代码之时 指定的位置获取。WSIT 使用的 WSDL 有一个固定的文件名(虽然这个文件能够使用一个 <wsdl:import> 标记来引用一个带有完整 WSDL 的独立文件),并且总是通过类路径访问。

在服务器端,WSIT 要求在 WEB-INF/sun-jaxws.xml 配置文件(在 “Metro 简介” 中介绍过)中指 定的位置提供 WSDL。所提供的 WSDL 必须包含用于为 WSIT 配置用户信息的自定义扩展,但是这些自定 义扩展在为响应对服务端点的 HTT PGET 请求而提供的 WSDL 版本中被删除掉了。

这些用于配置 WSIT 用户信息的自定义扩展在服务器端和客户端看起来一样,但是在用于扩展元素的 XML 名称空间中不同。在客户端,名称空间是 http://schemas.sun.com/2006/03/wss/client;在服务器 端,名称空间是 http://schemas.sun.com/2006/03/wss/server。

Java Web服务: Metro服务下的WS-Security(2)

时间:2011-07-25 IBM Dennis Sosnoski

Metro 中的 UsernameToken

“Axis2 WS-Security 基础” 使用了一个简单的 UsernameToken 例子来介绍 Axis2/Rampart 环境下 的 WS-Security。UsernameToken 提供了一种通过 WS-Security 来表示 “用户名/密码” 对的标准方法 。密码信息可以以纯文本方式(通常,这种方式只有在同时配置了传输层安全协议(Transport Layer Security,TLS)或者使用 WS-Security 加密时才会在生产中使用 — 但是这种方式确实便于测试)或者 以散列值方式发送。

要在 Metro 上实现一个简单的纯文本格式的 UsernameToken 示例,您需要在 WSDL 服务定义中恰当 定义 WS-Policy/WS-SecurityPolicy。清单 1 展示了 “Metro 简介” 中使用过的一个基础 WSDL 服务 定义的修订

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号