CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

您现在的位置: IT专家网 > Web服务子站 > 技巧

保护WebLogic Server上WebServices

作者: 佚名,  出处:Dev2Dev, 责任编辑: 叶江, 
2007-08-23 14:00
  本文首先概述了消息完整性、消息机密性和身份验证,简短讨论了怎样通过策略注释加以实现。接着实例指导如何构建一个基本服务,添加消息完整性、机密性和授权……

  javax.xml.rpc.soap.SOAPFaultException: Unable to add security token for identity

  客户端试图调用服务,但又不提供任何授权凭证。客户端代码需要加以修改,以便使用刚才创建的用户名/密码suzie/munchkin来调用服务。现在开始向HelloWorldClient.java的main方法添加下面突出显示的代码:

  stub._setProperty(
  WSSecurityContext.CREDENTIAL_PROVIDER_LIST,
  credProviders);
  String username = "suzie";
  String password = "munchkin";
  cp = new ClientUNTCredentialProvider(username.getBytes(),
  password.getBytes());
  credProviders.add(cp);
  stub._setProperty(

  运行代码,会返回正常的问候消息。这样,我们就知道了客户端调用服务前被强制添加凭证。查看监视器,检查请求,应该看到一个新的部分:

<wsse:UsernameToken>
<wsse:Username>suzie</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/
  oasis-200401-wss-username-token-profile-1.0#PasswordText">munchkin</wsse:Password>
</wsse:UsernameToken>

  这些的确是我们提供的凭证。注意,这些凭证以纯文本发送。WS-Security规范没有涉及用户凭证加密;而是推荐采用传输层安全措施(即,保护整个TCP/IP套接字)。

  身份验证已经成功地加入Web Services了!

  展望未来:WebLogic Server 10的安全性配置

  WebLogic Server 10最近已发布。对于现有的受保护的Web services,这意味着什么呢?幸运的是,变化不是很多。第十版中服务的部署和运行没有变化。然而,客户端代码需要使用第十版的客户API重新生成。此外,WebLogic Server 10加入了WS-SecurityPolicy 1.2支持,现在它支持WS-Security 1.1。(WebLogic Server 9.2支持WS-Security 1.0。)

  WS-SecurityPolicy 1.2的重要性在于可以创建与BEA专有安全策略文件相对的“标准”安全策略文件。WS-SecurityPolicy规范发布之前发布的WebLogic Server 9.2使用的是依据采用专有BEA安全策略模式的旧版WS-Policy规范写成的安全策略文件。

  应该采用哪一种策略文件?BEA建议采用WS-SecurityPolicy标准策略文件代替其专有策略文件。实际上,这两种策略文件第十版都支持,但这二者是不兼容的,所以一个给定的Web Services只能采用二者之一。

  可是在您急着将WebLogic Server 9.2策略文件迁移到新标准之前,谨记WS-SecurityPolicy尚有局限之处,因为在BEA实现它的时候,它还只是(依然是)一个草案。具体来说,如果您需要元素级的数字签名和/或加密,或者要求SAML 1.1,那么您仍然必须采用专有的BEA WebLogic 9.2型策略。

  根据WS-Security,即使WebLogic Server 10支持WS-Security 1.1,BEA仍然推荐为了互操作性使用WS-Security 1.0策略。只是当您要求更强的安全性时,才应该采用WS-Security 1.1策略。而且只有使用新的WS-SecurityPolicy 1.2策略文件,WS-Security 1.1才被支持。

  结束语

  在本文中,我们讨论了Web services安全性的三个方面:消息的完整性、机密性和身份验证。我们已经看到编写含有这三个方面的“安全”Web Services非常简单;所要做的只是用适当的注释来注释Web Services代码。我们了解了使用什么注释来实现每个方面,弄清了必须如何修改客户端代码调用受保护的服务,看到了SOAP消息自身如何改变以反映新加入的安全性。在教程中,我们建立了一个Web Services,并逐步加入所有三个方面。

  由于SOAP消息的“纯文本”的性质,当我们部署Web services作为企业生产环境的一部分的时候,强大的安全性是非常重要的。WS-Security与WebLogic Server的结合为这个问题提供了一个极好的解决方案,使开发人员得以轻松地部署和维护企业服务。

共13页。 9 ... 8 9 10 11 12 13

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅

       
天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i