0

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

我正在向我的共享点添加一个带有 silverlight 应用程序的 aspx 页面作为功能。该应用程序从 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 将这两个文件显式添加到共享点路径。

我仍然收到 securityException ...

请在这件事上给予我帮助,

提前致谢。

4

1 回答 1

0

在浪费了几个小时之后,我自己敲定了它。

对于到达同一十字路口的任何人:如果您确定 crossdomain.xml 已就位,并且您的 silverlight 应用程序在 sharepoint 之外工作,则此特定的安全异常并非源于跨域违规,而更有可能源于其中之一此处记录的 url 访问限制:

正如那里所说:“当用户收到因违反这些访问策略之一而导致的错误时,该错误可能无法指示确切原因。” 此错误可能有任何列出的原因。(我认为是msdn的重大疏忽)

由于“跨方案访问”和“跨域访问”不在图片范围内,因此只剩下“跨区域访问违规”。这意味着您的 Silverlight 应用程序和服务端点必须位于同一个区域才能进行通信(例如 Internet 或 Intranet)。由于我的 SPAQL 端点目前托管在 localhost(IE 中默认为 Intranet 地址),并且我的共享点地址 http://my.comp.name 默认位于 Internet 区域中,因此引发了此错误。

要消除此错误,您必须将端点托管在 Internet 地址上或手动将共享点地址放置在 Intranet 区域中。经过一番谷歌搜索后,我在 Internet-options 中找到了正确的配置:

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

就是这样,希望我为你挽回了一些持久的皱纹。

小心...

于 2013-04-01T13:40:11.360 回答