web service 权限控制以及cxf拦截器

原创 2016年08月30日 12:59:49

web service权限控制

  • 正常的思路是,让服务器端规定,input消息(客户端发来的消息)一定要携带某种特殊的数据,例如,用户名,密码。服务端根据对这些数据的判断来进行权限控制。做法是,控制用户发来的xml文档片段里的信息来判断。
  • 现在用到了cxf框架,这个方法被阻断了,因为,cxf自己生成相应的xml文档片段,没有让我们手动生成。但是它提供了一个叫拦截器的东西

添加拦截器

1.首先获取endpoint.publish返回值,EndpointImpl,org.apache.cxf.jaxws.EndpointImpl,右边需要强转一下。
2.调用该对象的,getInterceptor和getOuterceptor 方法。获得服务端的in,out拦截器所属列表。接着自定义拦截器并添加进去。
3.定义拦截器,实现Interceptor接口。通常继承AbstractPhaseInterceptor这个抽象类。或者使用系统实现好的拦截器LoggingInInterceptor 和LoggingOutInterceptor,构造函数的参数代表log输出的位置。还会有其他拦截器,这里暂时不举例。

因为添加拦截器并没有更改web service,就是接口和实现类,以及发布地址。所以不必重新加载客户端。

从logging拦截器打印出来的信息我们可以看出,xml片段的一些信息。

  • envelope

    –header:不是强制出现的,是由程序员控制添加的,主要用于携带一些额外的信息,比如用户名,密码等信息。

    –body:下面有两个内容,如果调用正确,里面的内容应该是遵守wsdl的;如果调用失败,是fault子元素。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

CXF-06:Web Service暴露后如何进行权限控制,CXF拦截器的理论以及如何为CXF的客户端和服务器端添加拦截器

Web Service暴露后所有人都可以调用,如何进行权限控制? 解决思路是:服务器端要求input消息总是携带有用户名、密码信息,————如果没有或不正确,拒绝调用。 * 如果不用...

8.Web Service CXF添加自定义拦截器

前面我们写到CXF添加内置的拦截器,今天的话,我们来写下如何添加自定义拦截器; 我们的实例是客户端访问服务端webservice接口要加权限认证。

10.Web Service Spring整合CXF之添加拦截器 完结

今天主要来介绍一下如何在Spring整合CXF环境下,添加拦截器;这里我们给下官方的参考文档:http://cxf.apache.org/docs/jax-ws-configuration.html结...

关于web service与cxf的拦截器

对于web service接口,有着服务端与客户端之分,服务负责编写并暴露接口在服务器上,而客户端,就是携带相关数据与服务端交互,而获取相关数据,然而对于客户端对服务端的访问,也必须通过相关的约束才能...

CXF学习05---Web Service的本质与服务器端添加拦截器

Web Service调用本质 1、客户端把需要调用的参数,转换yl

web service 自定义拦截器

客户端拦截器: package com.xh.ws.interceptor; import java.util.List; import javax.xml.namespace.QName; imp...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)