为什么在Web服务中使用Soap作为身份验证?

时间:2010-03-25 15:53:03

标签: c# .net web-services soap

我正在查看本教程http://www.codeproject.com/KB/cpp/authforwebservices.aspx,我想知道通过soap使用身份验证的原因是什么?喜欢为什么不通过参数传递用户名和密码呢?

这样做是否更安全,就像那个人在教程中使用它作为参数传递它的方式一样?

由于

3 个答案:

答案 0 :(得分:3)

因为存在用于验证WS- *基于SOAP的Web服务的标准。

WS-Security是这里工作的罪魁祸首。

它允许从用户名/密码令牌认证到X.509认证的任何内容。您还可以使用用户名/密码或X.509来加密SOAP消息的正文,以便您的信息更难获取。

作为旁注,.NET 2.0为此提供了Web服务扩展(WSE)3.0,因此您无需亲自动手(这是您文章的作者所做的)。在.NET 3.5中,您将使用支持内置WS-Security的WCF。

答案 1 :(得分:1)

嗯,不,那个人这样做的方式并没有增加任何额外的安全性。但是,使用WS *堆栈正确实现时,通过soap头进行身份验证有几个优点。 WS *堆栈主要基于用于签名和加密的X.509证书。其中一个主要优点是身份可以从一个服务传播到另一个服务,而不必保留用户名和密码等敏感信息。

答案 2 :(得分:0)

查看SOAP Headers,它可以在需要时进行签名和加密,并且得到任何(自我尊重的)SOAP开发环境的支持......