一尘不染

如何验证基于肥皂的Java Web服务?

java

我正在使用Java开发基于Soap的Web服务。谁能让我知道如何认证使用Web服务的客户端?

谢谢。


阅读 225

收藏
2020-12-03

共1个答案

一尘不染

最好但最复杂的可能是带有各种身份验证方法的WS-
Security。但是它是最复杂的,并且对企业环境有利。它允许您创建端到端身份验证,并且有很多选项。您可以在简单情况下使用Web服务安全性UsernameToken配置文件

    <S12:Envelope xmlns:S11="..." xmlns:wsse="..." xmlns:wsu= "...">
  <S12:Header>
  ...
    <wsse:Security>
      <wsse:UsernameToken>
        <wsse:Username>NNK</wsse:Username>
        <wsse:Password Type="...#PasswordDigest">weYI3nXd8LjMNVksCKFV8t3rgHh3Rw==</wsse:Password>
        <wsse:Nonce>WScqanjCEAC4mQoBE07sAQ==</wsse:Nonce>
        <wsu:Created>2003-07-16T01:24:32</wsu:Created>
      </wsse:UsernameToken>
    </wsse:Security>
  ...
  </S12:Header>
...
</S12:Envelope>

我不知道您使用什么库,但是这是一篇不错的文章,介绍了如何将Rampart安装到Axis2中并实现UsernameToken处理

但是在某些简化的情况下,您可以简单地对Web服务器进行HTTP基本身份验证(通过SSL)。这可能是最糟糕的解决方案,但有时可能最容易实现。另一个不与soap连接的解决方案可以是相互认证的SSL(使用客户端身份验证)。

2020-12-03