我有一个特定的Silverlight应用程序,它由WCF服务提供数据。我想确保WCF服务仅由特定的 Silverlight应用程序调用。实现这一目标的最佳方法是什么?我该怎么办?它不一定是高安全性的解决方案。
提前致谢, 弗兰克
答案 0 :(得分:3)
在服务上启用基本身份验证(用户名/密码)。创建一个Silverlight应用程序将使用该服务对自身进行身份验证的用户。
更简单但安全性更低,可能只是使用某种标识符(仅为Silverlight客户端所知)作为服务参数。
使用HTTPS实现时,这两个选项显然最安全。这可以通过使用服务器证书来完成。
答案 1 :(得分:1)
您无法限制对此类服务的访问权限。您的应用需要访问您选择的任何密钥/密码。对您的应用进行反编译并提取密钥是微不足道的。 SSL / TLS无济于事 - 因为可以从编译的代码中提取密码。
这个问题最近被问了好几次 -
答案 2 :(得分:1)
如果您的应用程序是匿名运行的,那么几乎不可能100%安全。
如果您要求您的用户进行身份验证,那么您应该能够通过要求他们的登录凭据来使服务相对安全......
答案 3 :(得分:0)
我不知道WCF是否容易,但我猜你可以使用客户端证书做些什么。我只使用这种方法来保护网站,这很容易做到......