sharepoint抛出securityException在silverlight上,即使clientaccessppo



经过一天的彻底寻找解决方案,我在以下问题上停滞不前:

我正在添加一个带有silverlight应用程序的aspx页面作为我的sharepoint的功能。该应用程序从virtuoso服务访问sparql-endpoint,并且在sharepoint之外运行良好。"clientaccesspicy .xml"被添加到virtuoso和sharepoint根目录中。两者都可以通过http:

访问。
<?xml version="1.0" encoding="utf-8"?>
 <access-policy>
  <cross-domain-access>
    <policy>
      <allow-from http-request-headers="*">
        <domain uri="*"/>
      </allow-from>
      <grant-to>
        <resource path="/" include-subpaths="true"/>
      </grant-to>
    </policy>
  </cross-domain-access>
</access-policy>

我甚至添加了crossdomain.xml在这两个位置后,这个问题爬上了我,并通过central-admin显式地将这两个文件添加到sharepoint路径。

我仍然得到一个securityException…

请帮我一下,

又浪费了几个小时,我自己琢磨出了答案。

对于到达同一十字路口的人:如果你确定crossdomain.xml已经存在,并且你的silverlight应用程序在sharepoint之外工作,那么这个特殊的安全异常不是来自跨域违规,而更可能是来自这里记录的其他url访问限制之一:

如上文所述:当用户因违反其中一个访问策略而出现错误时,错误可能没有指明确切的原因。此错误可能有列出的任何原因。(我认为这是MSDN的一大疏忽)

由于"跨方案访问"one_answers"跨域访问"不在图中,这只剩下"跨区域访问冲突"。这意味着你的Silverlight应用程序和服务端点必须在同一个区域才能被允许通信(例如Internet或Intranet)。由于我的spaql端点目前托管在本地主机上(IE默认为内网地址),而我的sharepoint地址http://my.comp.name默认在internet区域中,因此抛出此错误。

要消除这个错误,你必须要么将你的端点托管在internet地址上,要么手动将你的sharepoint地址放在intranet区域。在谷歌上搜索了一下之后,我在互联网上找到了正确的配置。

->security ->local Intranet -> sites ->add:您的sharepoint地址(http://my.comp.name)

就这样,希望我给你留了一些持久的皱纹。

照顾…

相关内容

  • 没有找到相关文章

最新更新