如何确保仅由特定应用程序使用WCF服务?

时间:2010-04-15 12:15:43

标签: wcf silverlight security

我有一个特定的Silverlight应用程序,它由WCF服务提供数据。我想确保WCF服务仅由特定的 Silverlight应用程序调用。实现这一目标的最佳方法是什么?我该怎么办?它不一定是高安全性的解决方案。

提前致谢, 弗兰克

4 个答案:

答案 0 :(得分:3)

在服务上启用基本身份验证(用户名/密码)。创建一个Silverlight应用程序将使用该服务对自身进行身份验证的用户。

更简单但安全性更低,可能只是使用某种标识符(仅为Silverlight客户端所知)作为服务参数。

使用HTTPS实现时,这两个选项显然最安全。这可以通过使用服务器证书来完成。

答案 1 :(得分:1)

无法限制对此类服务的访问权限。您的应用需要访问您选择的任何密钥/密码。对您的应用进行反编译并提取密钥是微不足道的。 SSL / TLS无济于事 - 因为可以从编译的代码中提取密码。

这个问题最近被问了好几次 -

  1. Ensure exclusive access to webservice
  2. How to restrict access to my web service?
  3. How can I create and use a web service in public but still restrict its use to only my app?

答案 2 :(得分:1)

如果您的应用程序是匿名运行的,那么几乎不可能100%安全。

如果您要求您的用户进行身份验证,那么您应该能够通过要求他们的登录凭据来使服务相对安全......

答案 3 :(得分:0)

我不知道WCF是否容易,但我猜你可以使用客户端证书做些什么。我只使用这种方法来保护网站,这很容易做到......