2013-04-08 135 views
3

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

我需要确保该人提供正确的用户名和密码才能使用该服务,并且所有内容都已加密。它通过互联网并将使用HTTP绑定。

+2

Internet或Intranet?什么约束?你的服务有什么安全需求? – 2013-04-08 20:24:35

回答

1

如果您仅限于HTTP,那么它将会带来性能上的提升,但更具可移植性。
但我认为你可以使用WS-Security加密和保护HTTP。

传输和邮件安全模式

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

传输安全模式使用传输级协议(如HTTPS)来实现传输安全性。传输模式具有被广泛采用的优点,可用于多种平台,计算复杂度较低。但是,它具有仅从点对点保护消息的缺点。

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

Selecting a Credential Type

How to: Authenticate with a User Name and Password

+0

如何使用用户名和密码来保护它。什么是最好的方式来做到这一点? – 2013-04-08 20:59:19

+0

你只需用用户名和密码建立消息。我会查找一个链接。 – Paparazzi 2013-04-08 21:04:33

2

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

+0

对不起,我的意思是,除非他们知道这样做的凭据,否则任何人都不能拨打该服务。 – 2013-04-08 20:25:48

+0

消息标题将解决该问题 – HackyStack 2013-04-08 21:33:37

2

你应该看看this MSDN article,其中总结了选项。

就像一个典型的Web应用程序,你有多种方法来确保网站:

  1. 传输安全(SSL)
  2. 信息安全(信息安全头)
  3. 交通运输与消息凭据(组合)

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

相关问题