`
wanghuanqiu
  • 浏览: 110015 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

axis2客户端基于ws-security用户令牌验证访问

阅读更多
如果服务端使用了ws-security进行用户验证时,客户端访问时需要在报文头部添加用户名和密码,用户令牌验证只允许在报文头部添加验证。采用axis2生成java代码,以下为实现代码:
  
         //stub为生成的代码
        stub._setProperty(Stub.ENDPOINT_ADDRESS_PROPERTY,"http:.....?wsdl");
        //安全头报文生成
        SOAPHeaderElement sl = setSoapHeader();
        stub.setHeader(sl);
        
stub.method(arg0, arg1);

    
    private static SOAPHeaderElement setSoapHeader() throws ParserConfigurationException{
        // create document of w3c
        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        DocumentBuilder db = dbf.newDocumentBuilder();
        Document document = db.newDocument();
        // create Element
        String address= "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd";
        Element security = document.createElementNS("namespace", "Security");
        security.setAttribute("xmlns:wsse", address);
        Element usernameToken = document.createElementNS("namespace", "UsernameToken");
        Element username = document.createElementNS("namespace", "Username");
        Element password = document.createElementNS("namespace", "Password");
        password.setAttribute("Type",
                "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText");
        // add Element
        usernameToken.appendChild(username);
        usernameToken.appendChild(password);
        security.appendChild(usernameToken);
        // set value
        Text usernameValue = document.createTextNode("aaaa");
        username.appendChild(usernameValue);
        Text passwordValue = document.createTextNode("aaaa");
        password.appendChild(passwordValue);
        // create SOAPHeaderElement
        SOAPHeaderElement ppElement = new SOAPHeaderElement(security);
        ppElement.setPrefix("wsse");
        return ppElement;
    }

0
0
分享到:
评论
4 楼 g21121 2014-05-30  
    SOAPHeaderElement ppElement = new SOAPHeaderElement(security); 
这行报错
3 楼 wanghuanqiu 2012-09-25  
nevernam 写道
nevernam 写道
请教一下,这个username和password一般是那里进行设置的呢?

说错了,我的意思是哪里获取的呢

不是获取的这种简单验证,前提得知道用户名和密码。
2 楼 nevernam 2012-09-24  
nevernam 写道
请教一下,这个username和password一般是那里进行设置的呢?

说错了,我的意思是哪里获取的呢
1 楼 nevernam 2012-09-24  
请教一下,这个username和password一般是那里进行设置的呢?

相关推荐

    ws-security 和wss4j的jar包

    2. **wss4j-ws-security-dom.jar**:DOM(Document Object Model)版本的WS-Security实现,用于处理基于DOM的XML消息。 3. **wss4j-ws-security-stax.jar**:STAX(Streaming API for XML)版本的实现,适用于处理...

    ws-security 和 wss4j的jar包

    3. **用户身份验证**:支持多种身份验证机制,如用户名令牌、X.509令牌和SAML令牌,确保只有经过认证的用户才能访问服务。 4. **时间戳**:添加时间戳到SOAP消息中,防止重放攻击,确保消息的新鲜性。 5. **密钥...

    ws-security jar

    在Java中,通常使用Apache CXF、Axis2等Web服务框架,它们内置了对WS-Security的支持。 使用"ws-security jar"时,开发者可以配置Web服务客户端和服务器端的策略,设置签名和加密算法,指定认证方式,以及处理证书...

    axis2+rampart实现ws-security

    而Rampart是Axis2的一个模块,专门用于实现WS-Security规范,它支持加密、签名、身份验证等多种安全性需求。 【描述】:"这个文档详细描述了本人实现axis2+rampart,有截图和详细配置" 实现axis2和rampart集成以...

    axis2客户端调用服务端,带用户身份认证

    当涉及到“axis2客户端调用服务端,带用户身份认证”时,我们主要关注的是如何在 Axis2 客户端中添加安全机制,确保只有经过验证的用户能够访问服务。 首先,理解身份认证是网络安全的基础。在Web服务中,通常采用...

    Web 服务规范_第 4 部分:WS-Security源码

    在实际开发中,WS-Security的实现通常依赖于库,如Apache CXF、Axis2或Spring-WS,它们提供了API来简化WS-Security的集成。开发者可以通过这些库轻松地在SOAP消息中添加和验证安全元素。 为了实现WS-Security,...

    WebService:Axis客户端调用需要身份验证的CXF服务

    身份验证是确保只有授权用户或系统能够访问服务的关键步骤。在CXF服务中,可能需要基本HTTP认证、 Digest认证、WS-Security(如X.509证书或Kerberos)等形式的身份验证。 当Axis客户端需要调用一个需要身份验证的...

    axis2-1.4.1-bin.zip

    Apache Axis2是基于Java开发的一个Web服务引擎,它主要用于创建和部署SOAP(简单对象访问协议)和RESTful Web服务。Axis2是Axis1的下一代版本,提供了更高效、可扩展和模块化的架构。在"axis2-1.4.1-bin.zip"这个...

    Axis2版本的头鉴权应用

    标题和描述提到的"Axis2版本的头鉴权应用"着重讨论的是如何在Axis2中实现基于HTTP头部的认证机制,以确保只有经过授权的用户可以访问服务。 头鉴权(Header Authentication)是一种常见的身份验证方法,它通过HTTP...

    一种基于Axis2的SOAP安全传输模型的研究

    通过结合Rampart组件,可以实现在Axis2平台上实现基于WS-Security的安全传输模型。 - **Rampart组件**:Rampart是Apache的一个开源项目,专为Axis2设计,用来实现WS-Security规范。它提供了一系列的工具和服务,...

    web 服务-- 理解 WS-Policy1

    在实际应用中,如Axis2、Metro和CXF这样的Java Web服务框架支持WS-Policy的配置,以便在服务接口的WSDL文档中定义策略。 在使用WS-Policy时,开发者应确保策略表达式的正确构造,并且遵循标准形式,以便于解析和...

    axis2服务端源码,带用户身份认证

    Axis2基于SOAP(Simple Object Access Protocol)协议,支持WSDL(Web Services Description Language)和WS-*规范,如WS-Security、WS-ReliableMessaging等,为开发者提供了一套完整的Web服务解决方案。 2. **身份...

    rampartc-1.3.0-bin.rar

    总结来说,RampartC是构建安全的Web服务客户端的关键工具,它提供的功能包括但不限于身份验证、消息加密和完整性保护,以及基于WS-Security协议栈的高级安全特性。通过“rampartc-1.3.0-bin.rar”,开发者可以获得一...

    axis2插件

    - Axis2集成WS-Security规范,支持消息认证、加密和签名,确保Web服务的安全通信。 - 可以通过配置文件启用安全特性,如用户名令牌、X.509证书等。 7. **性能优化** - Axis2采用缓存策略来提高性能,例如消息...

    axis1和2 使用文档

    Axis1和Axis2是两个流行的Java SOAP(简单对象访问协议)Web服务框架,它们由Apache软件基金会开发,用于构建和部署Web服务。这两个框架在不同的版本中提供了对Web服务的不同特性和功能支持。 **Axis1** 是较早的...

    WebService axis2使用说明

    这通常涉及到WS-Security标准,如X.509证书、用户名/密码令牌、数字签名等,以确保只有授权的用户和应用程序能够调用服务。 总结:WebService轴心于XML和开放标准,允许不同系统间的无缝通信。Axis2作为实现...

    Rampart-c_1_3_0.zip

    在Web服务领域,安全性是至关重要的,Rampart-C提供了一套完整的安全解决方案,包括消息认证、加密、数字签名以及基于WS-Security标准的各种安全策略。 Rampart-C 1.3.0版本的源码包含了一系列的C语言实现,这些...

    Rampart发布包和源代码,以及一些使用总结222

    Rampart是一个在Apache Axis2框架下开发的安全模块,它主要负责实现Web服务安全标准,如WS-Security、WS-SecureConversation和WS-Trust。这个发布包包含了Rampart的源代码,允许开发者深入理解其内部工作原理,并...

    Rampart发布包和源代码,以及一些使用总结

    它提供了基于WS-Security标准的安全解决方案,包括消息认证、加密、签名等,使得Web服务能够实现安全的通信。在本文中,我们将深入探讨Rampart的发布包、源代码,以及在实际应用中的使用总结。 首先,Rampart的发布...

Global site tag (gtag.js) - Google Analytics