【问题标题】:How do you build a clientaccesspolicy.xml for this API?您如何为此 API 构建 clientaccesspolicy.xml?
【发布时间】:2010-10-26 23:45:34
【问题描述】:

我想从 Silverlight 访问一个类似 REST 的 API。它需要支持以下内容:

  • 所有请求均通过 SSL 发出
  • 允许 GET、POST、PUT、DELETE(或任何方式)
  • 允许任何请求标头
  • 允许来自任何主机的请求

相当开放。我对文档有点困惑,所以有人有它可能是什么样子的例子吗?

【问题讨论】:

    标签: silverlight clientaccesspolicy.xml


    【解决方案1】:

    一些完全开放但只允许 https 而不允许 http 的东西看起来像这样,需要命名为 clientaccesspolicy.xml 并放置在 Web 根目录中:

    <?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 以外的方法。

    【讨论】:

    • 你知道我是否需要在 allow-from 元素中添加 http-methods="*" 吗?
    • 嘿,约翰,你是对的。如果您不添加 http-methods="*" 您只允许 GET 和 POST ......那是我的疏忽。我会更新我的答案。如果您好奇,可以在这里找到信息:msdn.microsoft.com/en-us/library/cc645032(VS.95).aspx
    【解决方案2】:

    这是有关此事的 MSDN 文档:Making a Service Available Across Domain Boundaries.

    【讨论】:

      【解决方案3】:
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-08
      • 1970-01-01
      • 2016-04-22
      相关资源
      最近更新 更多