我们有一个我们编写的 Silverlight 应用程序,它调用启用了 Silverlight 的数据服务。Silverlight 应用程序不需要登录,因为它需要向未经身份验证的公众提供数据。
我们有一些 schmoe 花时间检查我们的 Silverlight 应用程序,以一种或另一种方式找出它正在调用的服务,然后编写他自己的客户来窃取数据,以便他可以将其发布到他的网站上并假装它是他的。我们需要防止这种情况。
如何以某种方式限制我的数据服务以仅接受来自我的 silverlight 应用程序的请求?我尝试使用 clientaccesspolicy.xml 文件中的allow-from 域 uri设置来限制仅从 silverlight 应用程序所在的域(例如 mydomain.com)访问服务。但这绝对没有做任何事情,并且该服务仍在为来自域外的客户端提供请求。(我通过将我的 SL 应用程序放在我们控制的不同域上来测试这一点)。
限制数据服务以使只有我们的应用程序可以使用它的正确/最佳/最有效的方法是什么?谢谢!!!
我正在使用 SL 3 和 .NET 3.5。