sharepoint在silverlight上抛出securityException,即使clientaccesspolicy.xml到位

时间:2013-03-16 14:23:44

标签: silverlight sharepoint clientaccesspolicy.xml virtuoso

经过一天彻底寻找解决方案后,我对以下问题感到茫然:

我正在添加一个带有silverlight应用程序的aspx页面作为我的sharepoint的一个功能。 该应用程序从virtuoso服务访问sparql-endpoint,并在sharepoint之外正常工作。 clientaccesspolicy.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 ...

请帮助我,

提前感谢。

1 个答案:

答案 0 :(得分:0)

经过几个小时的浪费,我自己敲了它。

对于抵达同一十字路口的人: 如果您确定crossdomain.xml已到位并且您的silverlight应用程序在sharepoint之外工作,则此特定安全性异常不是来自跨域违规,而是来自其中一个记录的其他URL访问限制{{3} }:

如上所述: '当用户因违反其中一个访问策略而导致错误时,错误可能无法指明确切原因。 此错误可能包含任何列出的原因。 (在我看来,msdn的一个重大疏忽)

由于“交叉方案访问”和“跨域访问”不在图片中,因此只会出现“跨区域访问冲突”。这意味着您的Silverlight应用程序和服务端点必须位于允许通信的同一区域中(例如Internet或Intranet)。由于我的SPAQL端点暂时托管在localhost(IE中默认为Intranet地址),并且我的共享点地址http://my.comp.name默认位于Internet区域,因此抛出此错误。

要消除此错误,您必须在Internet地址上托管端点,或者手动将您的sharepoint地址放在Intranet区域中。 经过一些googeling后,我在Internet选项中找到了正确的配置。:

- &gt;安全性 - &gt;本地Intranet - &gt;网站 - &gt;添加:您的共享点地址(http://my.comp.name)

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

小心......