【发布时间】:2013-03-08 14:39:46
【问题描述】:
我有一个 Silverlight Web 应用程序,我正在使用 wcf 服务将数据加载到客户端。我应该保护 WCF 服务吗?网络上的任何人都可以调用该服务的方法吗?
【问题讨论】:
标签: wcf web-services security service wcf-security
我有一个 Silverlight Web 应用程序,我正在使用 wcf 服务将数据加载到客户端。我应该保护 WCF 服务吗?网络上的任何人都可以调用该服务的方法吗?
【问题讨论】:
标签: wcf web-services security service wcf-security
是的,如果他们知道 url,他们就可以看到和访问服务。
如果他们能看到,他们只需要做一个“添加服务引用”,他们就可以看到所有可用的方法。
而且由于 silverlight 使用基本的 httpbinding,它可以通过防火墙工作(它们通常允许 http 流量)。
如果它包含敏感信息,你应该保护它。
【讨论】:
默认情况下,您将通过默默无闻获得安全性,因此如果您不广播 WCF 服务的存在,则不太可能找到或调用它。此外,如果没有配置适当的客户端代理,将很难使用它。如果您没有设置 MEX 端点,那么您还是很安全的。
尽管如此,您还没有真正授权调用。理论上可以找到您的 WCF 服务并创建一个代理来调用它。因此,如果您想要安全,我建议您查看 WCF 授权。设置起来相当容易,您可以使用各种选项,例如用户名-密码、Windows 帐户或 X.509 证书。各有优缺点。
这篇文章非常详细,还有其他文章。 http://msdn.microsoft.com/en-us/magazine/cc948343.aspx
【讨论】: