我正在添加一个带有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 ...
请帮助我,
提前感谢。
答案 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)
就是这样,希望我能给你留下一些持久的皱纹。
小心......