在clientaccesspolicy.xml中,通配符allow-from uri无法使Silverlight访问WCF

时间:2010-12-10 18:35:09

标签: silverlight wcf clientaccesspolicy.xml

我已经成功创建并且当前正在使用clientaccesspolicy.xml文件将我的WCF暴露给我的Silverlight客户端,其中允许来自uri的域名为http://*。我想通过使用更具体的uri来加强它,例如http://www.foobar.comhttp://*.foobar.com,但是当我使用这些uris时,我会在Silverlight客户端中获取SecurityExceptions。

供参考,这是当前正在运行的clientaccesspolicy.xml:
<?xml version="1.0" encoding="utf-8"?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers="SOAPAction">
<domain uri="http://*"/>
</allow-from>
<grant-to>
<resource path="/" include-subpaths="true"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>

我尝试将http-request-headers更改为“*”无效。我已经验证了通配符uris(和资源路径)在保护非WCF资源(如.txts或.pngs)时对我有用。我的clientaccesspolicy.xml与.svc。

位于同一目录中

我不能使用crossdomain.xml,因为它不允许使用特定的uris(参见http://msdn.microsoft.com/en-us/library/cc838250(VS.95).aspx)。

谢谢!

1 个答案:

答案 0 :(得分:0)

尝试从URI中删除“http://”。例如:

<domain uri="*.foobar.com"/>