保护WCF服务,使其只能由Silverlight应用程序调用

Jam*_*ing 3 security silverlight wcf

我正在编写一个Silverlight应用程序,它将通过一些WCF Web服务读取和写入服务器端数据库的数据.

保护这些Web服务的最佳方法是什么?

我的目标是确保其他应用程序无法调用这些服务,并且可能会因为向数据库添加项目的请求而发送垃圾邮件.只有Silverlight应用程序需要能够访问它们.

Eri*_*ork 8

Don是绝对正确的,确保客户端是Silverlight应用程序没有万无一失的方法.

但是,我认为您要求更多关于以下内容:我能否确保只有我信任的人才能连接到该服务.答案在这里(基本上)是肯定的,或者至少我们有标准化的方法来做到这一点.

您通常会考虑采用几种不同的方法:

  • 传输级安全性.有人篡改了交通吗?我们为此使用SSL.
  • 验证.我和我信任的人说话吗?在这里,我们通常使用其中一种身份验证机制(例如,Forms Auth).您可以使用表单身份验证来保护Silverlight(实际上是Silverlight所在的页面)和WCF服务.令人困惑的是,可以使用SSL(尽管很少是因为这是一个痛苦的问题).