3

保护 WCF 服务的最佳方法是什么?我应该在服务调用中添加一个标头并在客户端上有一个消息检查器来验证标头吗?

我需要确保此人提供正确的用户名和密码以使用该服务,并且所有内容都已加密。它在 Internet 上,将使用 HTTP 绑定。

4

3 回答 3

2

这取决于您所说的“安全”是什么意思。您可以从 SSL (https) 开始,如果您想对客户端进行身份验证,则可以继续使用身份验证技术。你真的需要详细说明你的目标......

于 2013-04-08T20:20:06.043 回答
2

您应该查看这篇 MSDN 文章,其中总结了这些选项。

与典型的 Web 应用程序非常相似,您有多种方法来保护站点:

  1. 传输安全 (SSL)
  2. 消息安全(消息安全标头)
  3. 使用消息凭据传输(组合)

答案取决于您需要为应用程序使用的安全级别。在许多情况下,运输安全可能就足够了。

于 2013-04-08T20:24:55.090 回答
1

如果您仅限于 HTTP,那么它会降低性能,但更便携。
但我认为您可以使用 WS-Security 加密和保护 HTTP。

传输和消息安全模式

WCF 中使用两种主要机制来实现传输安全:
传输安全模式和消息安全模式。

传输安全模式使用传输层协议(如 HTTPS)来实现传输安全。传输模式的优点是被广泛采用,可在许多平台上使用,并且计算复杂度较低。但是,它的缺点是只能从点对点保护消息。

另一方面,消息安全模式使用 WS-Security(和其他规范)来实现传输安全。由于消息安全性直接应用于 SOAP 消息并包含在 SOAP 信封中,与应用程序数据一起,它具有独立于传输协议、更具可扩展性和确保端到端安全性(相对于点对点);它的缺点是比传输安全模式慢几倍,因为它必须处理 SOAP 消息的 XML 特性。

选择凭证类型

如何:使用用户名和密码进行身份验证

于 2013-04-08T20:49:44.163 回答