首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Silverlight - ClientAccessPolicy.xml语法

Silverlight - ClientAccessPolicy.xml语法
EN

Stack Overflow用户
提问于 2010-10-08 20:27:50
回答 1查看 1.3K关注 0票数 0

我正在尝试以一种跨域的方式与Apache web服务器通信。

我在域的根目录上设置了一个clientaccesspolicy.xml文件,在尝试向已设置的Java servlet发出GET请求时,Silverlight客户端成功地检索到了该文件。

具体内容如下:

访问地址: dev.corp.companyname.com/servlets/targetServlet

clientaccesspolicy.xml文件如下所示:

代码语言:javascript
复制
<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文件设置正确。

所以这里有一些问题:

代码语言:javascript
复制
<domain uri ="http://*" />

be

代码语言:javascript
复制
<domain uri ="*" />

还有。应该

代码语言:javascript
复制
<resource path ="servlets/targetServlet" include-subpaths ="false"/> 

be

代码语言:javascript
复制
<resource path ="/servlets/targetServlet" include-subpaths ="false"/>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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类的请求。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3890436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档