Axis2+SOAP Header验证方法实践(基于SOAP的Web安全调用机制)

本文介绍了使用Axis2结合SOAP Header进行服务端和客户端的安全验证方法。通过在SOAP Header中添加验证信息,服务端在每个方法内进行校验,客户端则负责在请求中添加所需字段。对比了WSS4J的回调机制,探讨了如何减少冗余代码并保持开发者控制的可能性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在前一篇文章:Axis2+Rampart(WSS4J)实现UsernameToken认证方式的WS-Security(基于SOAP的Web安全调用机制)

http://blog.youkuaiyun.com/wwwgeyang777/article/details/19928631

介绍了Axis2+Rampart(WSS4J)实现UsernameToken认证方式的WS-Security,感觉能满足大部分应用的安全需求了,就是相对比较繁琐,而且关于传输消息的封装等都在黑盒中完成了,被框架完全绑架了,实在是不可控。

那有没有简单点的又完全是由开发者控制的安全验证方式呢?答案是:Of course!

先理解下WSS4J的工作方式:WSS4J在Web Services框架中以handler方式工作,在发送SOAP消息前进行签名、加入认证凭据和加密,在收到SOAP消息后进行解密、认证和验证签名等安全工作。使用者可以自己编写handler处理SOAP消息以保证安全。

在我看来,WSS4J的方式说白了,就是在SOAP请求的Header中添加验证信息,然后服务端在相应的服务中解析Header,再进行校验,这就是最简单的原理。

既然原理清楚了,下面就来实践吧。

 

服务端

服务端就要在每个方法里面加上解析SOAP Header,并进行安全校验的代码即可,记住,是每一个方法里面都加,是everyone

虽然是每一都需要添加校验代码,但庆幸的是,校验过程都是一致的,实现一个通用的方法,每次调用就行。

这里给出一个校验方法的代码:

 

import java.util.Iterator;
import org.apache.axiom.om.O
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值