如何通过Axis2 Web服务中的用户名和密码进行身份验证?

时间:2011-03-11 21:30:30

标签: java web-services authentication passwords axis2

我在Java中通过Axis2构建了一个Web服务,并将其上传到服务器上。一切都很好,它运作得很好。但我没有考虑任何认证方法。如何为我的方法设置用户名和密码?

4 个答案:

答案 0 :(得分:3)

Web服务身份验证的标准是WS-Security。 Axis2实现称为Rampart

答案 1 :(得分:1)

您可以创建一个接受用户名和密码的Web服务方法 如果用户名和密码正确,则创建会话令牌(最好使用凭据创建)并将其发送回Web服务客户端。
每个Web服务调用的客户端也必须与请求参数一起发送令牌 由于请求具有有效令牌,因此客户端被视为已经过身份验证,您继续进行Web服务调用。

答案 2 :(得分:1)

如果您正在使用servlet(而不是定制的独立服务器应用程序),则可以使用servlet过滤器进行身份验证。

根据您使用的Web框架,您可以使用标准安全性。就像你保护页面一样。

或者您可以使用http BASIC或DIGEST身份验证来保护资源。

对于容器而言,Web服务不仅仅是网页,因此可以通过所有标准方式对其进行保护。

答案 3 :(得分:1)

您可以成功使用现有的Axis2模块之一:Rampart。

检查网站(http://axis.apache.org/axis2/java/rampart/)是否有设置/配置说明以及客户端和服务器示例。

使用Rampart,我设法对WCF服务器和Java客户端使用UsernameAndPassword身份验证。