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消息总是携带有用户名、密码信息,————如果没有或不正确,拒绝调用。 * 如果不用...

CXF-拦截器-权限控制-登录校验

  • 2017年02月22日 19:19
  • 55.34MB
  • 下载

关于web service与cxf的拦截器

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

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

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

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

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

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

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

CXF自定义拦截器实现权限控制

一. 拦截器 在我们学习Java的征途中碰到了很多拦截器: Servlet中的Filter就是一个拦截器, Struts2中也有拦截器,. CXF中的拦截器其基本原理还是使用动态代理, 我们可以在不对...
  • zdp072
  • zdp072
  • 2014年06月08日 00:20
  • 3180

使用CXF为Web Service添加拦截器,自定义拦截器

拦截器分为Service端和Client端      拦截器是在发送soap消息包的某一个时机拦截soap消息包,对soap消息包的数据进行分析或处理。分为CXF自带的拦截器和自定义的拦截器   ...

用CXF编写基于spring的web service 并添加cxf日志拦截器和自定义拦截器

编码实现 1.Server端 –创建spring的配置文件beans.xml,在其中配置SEI –在web.xml中,配置上CXF的一些核心组件 新建web项目,cxf 的jar包全部放入lib下...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:web service 权限控制以及cxf拦截器
举报原因:
原因补充:

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