我正在尝试以一种跨域的方式与Apache web服务器通信。
我在域的根目录上设置了一个clientaccesspolicy.xml文件,在尝试向已设置的Java servlet发出GET请求时,Silverlight客户端成功地检索到了该文件。
具体内容如下:
访问地址: dev.corp.companyname.com/servlets/targetServlet
clientaccesspolicy.xml文件如下所示:
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers ="*">
<domain uri ="http://*" />
</allow-from >
<grant-to >
<resource path ="servlets/targetServlet" include-subpaths ="false"/>
</grant-to>
</policy >
</cross-domain-access>
</access-policy> 我得到了一个带有“安全错误”的常见SecurityException作为消息。我假设这意味着clientaccesspolicy.xml文件设置正确。
所以这里有一些问题:
<domain uri ="http://*" />be
<domain uri ="*" />还有。应该
<resource path ="servlets/targetServlet" include-subpaths ="false"/> be
<resource path ="/servlets/targetServlet" include-subpaths ="false"/>发布于 2010-10-08 23:33:24
如果要启用所有http和https调用方,则应使用<domain uri ="*" />。<domain uri ="http://*" />将仅启用所有http调用方。
使用<resource path ="/servlets/targetServlet" include-subpaths ="false"/>定义从站点根目录开始的路径,该路径不能访问任何子目录。使用它是具体的,而不是相关的。来自Network Security Access Restrictions in Silverlight
该属性是相对于域的根的URI。它指的是可以表示web服务或文件的特定路径。
路径不能包含通配符或统一资源标识符(URI)无法识别的字符:通用语法,http://ietf.org/rfc/rfc3986
此元素和属性仅用于WebClient和HTTP类的请求。
https://stackoverflow.com/questions/3890436
复制相似问题