微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

WebService系列:为WebService添加安全性

为了保证发布到外网的Web Services不被非法使用,在调用Web Services之前需要进行必要的安全验证。

如前面文章中发布的GreetingWords的Web Service,希望只有授权的用户才具备调用它的权限,

虽然它的wsdl描述文件可以被任何人查看,但是如果不具备相应权限的人则无法通过调用它返回有用的信息。

 

一、设置Web Service安全性认证

 

为了实现这样的功能,按照向导在JDeveloper创建完Web Services后,添加验证信息,步骤如下:

  1. 选择端口,并保证使用“Text Password”验证选项
  2. 左边选择安全下的验证菜单,设置如下图的选项
  3. 从新发布Web Service

选中 Security 项,并选择GreetingWordsSoapHttpPort,按照下图设置选项

选择 Security–>Authentication 项,右边选择GreetingWordsSoapHttpPort,按照下图进行选项的设置

二、测试Web Service

 

上面添加了Web Service的安全性认证发布之后,在浏览器中输入wsdl的端口地址,如:

http://aronezhang:8888/aronehome/GreetingWordsSoapHttpPort

浏览器显示Web Service的测试页面,输入参数,点击Invoke按钮调用Web Services

Web Services执行返回错误错误代码为:wsse:InvalidSecurity错误消息为:Missing <wsse:Security> in SOAP Header

这个错误是由于已发布的Web Services添加了安全验证,而调用的时候没有把相关的验证信息发送给它,导致SOAP Header没有包括安全验证需要的信息。

 

我们可以通过测试页面功能查看到这个时候发送给服务器的消息是:

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐