[英]Adding User/Password to SOAPHeader for WebService client call with AXIS2
[英]How to authenticate by user name and password in an Axis2 WebService?
我已经通过Java中的Axis2构建了一个Web服务,并将其上传到服务器上。 一切都很好,它工作正常。 但是我还没有考虑过任何身份验证方法。 如何为我的方法设置用户名和密码?
Web服务认证的标准是WS-Security 。 Axis2实现称为Rampart 。
您可以创建一个接受用户名和密码的Web服务方法。
如果用户名和密码正确,那么您将创建一个会话令牌(最好使用凭据创建)并将其发送回Web服务客户端。
每个Web服务调用的客户端也必须与请求参数一起发送令牌。
由于请求具有有效的令牌,因此该客户端被视为已通过身份验证,因此您可以继续进行Web服务调用。
如果您使用的是servlet(而不是定制的独立服务器应用程序),则可以使用servlet过滤器进行身份验证。
根据您使用的Web框架,您可以为此使用标准安全性。 就像您保护页面安全一样。
或者,您可以使用http BASIC或DIGEST身份验证来保护资源。
Web服务(对于容器)只不过是网页,因此可以通过所有标准方式对其进行保护。
您可以成功使用现有的Axis2模块之一:Rampart。
检查网站( http://axis.apache.org/axis2/java/rampart/ ),以获取设置/配置说明以及客户端和服务器示例。
通过Rampart,我设法对WCF服务器和Java客户端使用UsernameAndPassword身份验证。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.