如何为此API构建clientaccesspolicy.xml?

时间:2010-10-25 18:30:13

标签: silverlight clientaccesspolicy.xml

我有一个RESTlike API,我想从Silverlight访问。它需要支持以下内容:

  • 所有请求均通过SSL进行
  • 允许GET,POST,PUT,DELETE(或任何)
  • 允许任何请求标头
  • 允许来自任何主机的请求

非常开放。我对文档感到有些困惑,所以有没有人会举例说明它的样子?

3 个答案:

答案 0 :(得分:2)

某些东西是敞开的但只允许https而不是http看起来像这样,需要命名为 clientaccesspolicy.xml 并放在网络根目录中:

<?xml version="1.0" encoding="utf-8" ?>
<access-policy>
  <cross-domain-access>
    <policy>
      <allow-from http-request-headers="*" http-methods="*">
        <domain uri="https://*" />
      </allow-from>
      <grant-to>
        <resource path="/" include-subpaths="true"/>
      </grant-to>
    </policy>
  </cross-domain-access>
</access-policy>

如果您想同时允许http和https访问,则需要在allow-from节点下明确列出它们,因为它是选择加入的,而简单的*通配符不适用于SSL。

修改:根据John的评论添加http-methods="*"以允许GET和POST以外的方法。

答案 1 :(得分:1)

以下是有关此问题的MSDN文档:Making a Service Available Across Domain Boundaries.

答案 2 :(得分:1)