我已经成功创建并且当前正在使用clientaccesspolicy.xml文件将我的WCF暴露给我的Silverlight客户端,其中允许来自uri的域名为http://*
。我想通过使用更具体的uri来加强它,例如http://www.foobar.com
或http://*.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)。
谢谢!
答案 0 :(得分:0)
尝试从URI中删除“http://”。例如:
<domain uri="*.foobar.com"/>