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为Web Service添加拦截器,自定义拦截器

拦截器分为Service端和Client端      拦截器是在发送soap消息包的某一个时机拦截soap消息包,对soap消息包的数据进行分析或处理。分为CXF自带的拦截器和自定义的拦截器   ...
  • a9529lty
  • a9529lty
  • 2012年12月26日 10:08
  • 7072

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

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

Web Service学习-CXF开发Web Service的权限控制(二)

Web Service如何进行权限控制? 解决思路:服务器端要求input消息总是携带有用户名,密码信息,如果没有用户名和密码信息,直接拒绝调用 解决方案:拦截器 为了让程序员能访问,并修改CXF框架...
  • hejingyuan6
  • hejingyuan6
  • 2015年08月02日 14:49
  • 3888

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

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

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

编码实现 1.Server端 –创建spring的配置文件beans.xml,在其中配置SEI –在web.xml中,配置上CXF的一些核心组件 新建web项目,cxf 的jar包全部放入lib下...
  • u014695188
  • u014695188
  • 2016年06月22日 00:17
  • 1852

WebService拦截器实现权限控制

package com.sdsj.main.interceptor; import java.lang.reflect.Method; import java.util.List; import ...
  • JaccePon
  • JaccePon
  • 2015年12月28日 14:01
  • 842

Web Service笔记(二):利用CXF开发Web Service

一、CXF开发简单的WS服务与客户端 (一)
  • u012228718
  • u012228718
  • 2014年11月22日 14:25
  • 2445

Web Service学习-CXF开发Web Service实例demo(一)

Web Service是什么? Web Service不是框架,更甚至不是一种技术。而是一种跨平台,跨语言的规范 Web Service解决什么问题: 为了解决不同平台,不同语言所编写的应用之间如何调...
  • hejingyuan6
  • hejingyuan6
  • 2015年08月02日 12:53
  • 5573

cxf+spring开发(二)--- Ip地址拦截器,限制客户端Ip地址,只允许数据库中已经配置的Ip地址

上一篇博文中介绍了如何搭建cxf和spring环境,本文将围绕如何在此环境下编写拦截器,只允许已经配置好的IP地址访问服务器端。 一、修改配置文件applicationContext ...
  • Yolanda_NuoNuo
  • Yolanda_NuoNuo
  • 2015年07月23日 09:59
  • 3132

【WebService】CXF拦截器的设置以及自定义CXF拦截器

CXF的拦截器和以前学过的servlet的拦截器类似的,都是在开始或结束切入一段代码,执行一些逻辑之类的。我们可以在调用ws服务前设置拦截器,也可以在调用ws服务后设置拦截器,当然了,拦截器也可以添加...
  • eson_15
  • eson_15
  • 2016年07月31日 20:29
  • 5809
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:web service 权限控制以及cxf拦截器
举报原因:
原因补充:

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