`
sillycat
  • 浏览: 2542963 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

xfire的webservice安全机制之用户校验

    博客分类:
  • SOA
阅读更多
xfire的webservice安全机制之用户校验

xfire的WEBSERVICE安全,最简单的一种,使用用户名和密码来验证是否准许调用WS。呵呵。
在原来的基础上配置

服务端配置修改点:
applicationContext-webservice.xml配置文件:

<property name="inHandlers">
<list>
   <ref bean="domInHandler" />
   <ref bean="wss4jInHandler"/>
   <ref bean="validateUserTokenHandler" />
</list>
</property>

<bean id="wss4jInHandler" class="org.codehaus.xfire.security.wss4j.WSS4JInHandler">
   <property name="properties">
    <props>
     <prop key="action">UsernameToken</prop>
     <prop key="passwordCallbackClass">
      com.megaeyes.ipcamera.service.webservice.tools.PasswordHandler
     </prop>
    </props>
   </property>
</bean>

客户端配置修改点:
就只是把XFireClientFactory.java修改一下:
public Object getObject() throws Exception {
   String url = this.getServiceURL();
   Class sClass = null;
   try {
    sClass = Class.forName(this.getServiceClassName());
   } catch (ClassNotFoundException e) {
    log.error(e.getMessage(), e);
    return null;
   }
   Assert.notNull(url);
   Assert.notNull(sClass);
   Service serviceModel = new ObjectServiceFactory().create(sClass);
   try {
    Object obj = serviceFactory.create(serviceModel, url);
    //用户名
    getUserToken(obj);
    //加密
    //getEnc(obj);
    //签名
    //getSign(obj);
    return obj;
   } catch (MalformedURLException e) {
    log.error(e.getMessage(), e);
    return null;
   }
}

public void getUserToken(Object service){
   Client client = ((XFireProxy) Proxy.getInvocationHandler(service)).getClient();
   //挂上WSS4JOutHandler,提供认证
   client.addOutHandler(new DOMOutHandler());
   Properties properties = new Properties();

   // Action to perform : user token
   properties.setProperty(WSHandlerConstants.ACTION, WSHandlerConstants.USERNAME_TOKEN);
   // Password type : plain text
   properties.setProperty(WSHandlerConstants.PASSWORD_TYPE, WSConstants.PASSWORD_DIGEST);
   //WSConstants.PW_DIGEST 摘要
   //WSConstants.PW_TEXT   明文
   // for hashed password use:
   //properties.setProperty(WSHandlerConstants.PASSWORD_TYPE, WSConstants.PW_DIGEST);
   // User name to send
   properties.setProperty(WSHandlerConstants.USER, "tianyi");
   // Callback used to retrive password for given user.
   properties.setProperty(WSHandlerConstants.PW_CALLBACK_CLASS, PasswordHandler.class.getName());
   client.addOutHandler(new WSS4JOutHandler(properties));
}

其实这里可以改成配置式的。配置调用何种方法去调用。
分享到:
评论

相关推荐

    xfire webservice 上传下载源码

    **XFire Webservice 上传下载源码详解** XFire 是一款强大的Java Web服务框架,它为开发者提供了构建高质量、高性能的Web服务的工具。在"xfire webservice 上传下载源码"这个主题中,我们将深入探讨如何使用XFire来...

    xfire webservice 完整实例下载

    XFire Webservice是一个基于Java的开源工具,它简化了创建、部署和消费Web服务的过程。在深入探讨这个完整实例之前,我们首先需要了解Web服务的基本概念。Web服务是一种通过网络进行通信的应用程序接口(API)。它们...

    spring集成xfire webservice实现

    spring集成xfire webservice实现远程调用 将项目发布后,点击http://localhost:8080/SpringWebServiceTest/services/HelloWS?wsdl即可 其中也有客户端的调用,自己试试吧。

    XFire Webservice 客户端

    总结来说,XFire Webservice客户端涉及了Web Service的基本概念、通信协议、数据交换格式、安全性以及跨平台开发等多个IT领域的知识点,对于学习和理解网络服务通信有着重要的参考价值。虽然XFire服务已经停止,但...

    java使用XFire调用webService接口

    "Java 使用 XFire 调用 webService 接口" 在本文中,我们将学习如何使用 XFire 框架在 Java 中调用 webService 接口。XFIRE 是一个基于 Java 的开源框架,用于简化 Web 服务的开发和集成。下面,我们将通过一个简单...

    xfire webservice集成最少8个包

    标题中的“xfire webservice集成最少8个包”指的是在使用XFire框架开发Web服务时,所需的最小依赖库数量。XFire是早期流行的Java Web服务实现框架,它允许开发者快速创建、部署和消费Web服务。这里提到的8个包可能...

    XFire Webservice 服务器端

    由于XFire Webservice涉及到用户敏感信息,因此安全措施至关重要。这可能包括使用HTTPS进行加密传输,实施身份验证和授权机制,以及定期更新安全策略以防止潜在的攻击。 7. **性能优化** 对于高并发的服务器端,...

    spring+xfire( 编写webservice完整配置+案例)

    Spring 和 XFire 是一个经典的组合,用于在Java应用程序中创建和消费Web服务。Spring作为一个强大的框架,提供了全面的依赖注入和面向切面编程能力,而XFire是早先的Web服务实现,它允许开发者轻松地将Java接口转换...

    grails+Xfire webservice

    grails+Xfire webservice

    XFire WebService精简包

    XFire WebService精简包是针对开发者设计的一款轻量级工具集合,主要用于快速搭建和运行XFire WebService项目。在IT行业中,Web服务是一个关键组件,它允许不同系统和应用程序之间进行数据交换和功能调用,实现...

    Java使用XFire调用WebService接口

    在Java中,有很多库可以帮助开发者实现对Web服务的调用,其中之一就是XFire。这篇博客“Java使用XFire调用WebService接口”显然是讨论如何利用XFire这个开源框架来与Web服务交互。 XFire是Apache CXF项目的前身,它...

    简单的XFire WebService例子

    【XFire WebService简介】 XFire是一款开源的Java Web服务框架,它允许开发者快速、简单地创建和部署Web服务。XFire是Apache CXF项目的前身,其设计目标是提供一个轻量级、高性能且易于使用的Web服务实现。在这个...

    Xfire Webservice的例子

    Xfire Webservice是一个基于Java平台的服务框架,它允许开发者创建和使用Web服务。这个框架的主要目的是简化Web服务的开发过程,使开发人员可以快速地构建分布式应用程序。在本例中,我们将探讨Xfire Webservice与...

    Xfire webservice 加密

    理解Xfire Webservice的加密机制可以帮助我们更好地理解现代Web服务安全,尤其是对于那些需要处理敏感用户数据的应用来说,这些都是至关重要的。通过对这些概念和技术的学习,开发者可以为他们的应用构建出更安全的...

    XFIRE webservice 开发实例

    通过以上步骤,你可以创建一个利用XFIRE Webservice的实例,为用户提供丰富的游戏社区功能。在实践中,你可能会遇到更多的挑战,但随着对XFIRE API的深入理解和不断尝试,你将能够构建出更加精彩的应用。

    基于 xfire 的 webservice 项目

    【标题】:“基于 XFire 的 WebService 项目” 在IT领域,WebService是一种通过网络进行通信的标准方式,允许不同系统之间交换数据和实现功能共享。XFire是Java平台上的一个开源库,它为创建和消费Web服务提供了一...

    xfire实现webservice实例

    XFire是Java平台上一个曾经流行的开源框架,专门用于构建和消费Web服务。本实例将深入探讨如何利用XFire来实现Web服务。 一、XFire简介 XFire是Apache CXF项目的前身,它提供了一个轻量级、高性能的框架,用于创建...

    用XFire开发WebService+Spring注解

    【标题】"用XFire开发WebService+Spring注解"涉及的主要知识点是利用XFire框架创建Web服务,并结合Spring框架的注解进行服务的管理和集成。XFire是一个强大的Java Web Service实现,它允许开发者轻松地创建和消费...

    xfire调用webservice

    4. 安全可靠:xfire提供了一个安全的WebService开发环境,支持SSL/TLS加密、身份验证和授权等功能。 xfire的应用场景包括: 1. 企业应用集成:xfire可以用于企业应用集成,实现不同系统之间的数据交换和集成。 2. ...

Global site tag (gtag.js) - Google Analytics