Как вы создаете clientaccesspolicy.xml для этого API? - PullRequest
0 голосов
/ 25 октября 2010

У меня есть REST-подобный API, доступ к которому я хочу получить из Silverlight. Необходимо поддерживать следующее:

  • Все запросы выполняются по SSL
  • Разрешить GET, POST, PUT, DELETE (или просто любое)
  • Разрешить любые заголовки запроса
  • Разрешить запросы с любого хоста

Довольно широко открыт. Я немного смущен документами, у кого-нибудь есть пример того, как это может выглядеть?

Ответы [ 3 ]

2 голосов
/ 26 октября 2010

Что-то широко открытое, но разрешающее только 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.

Изменить: Добавлено http-methods="*" за комментарий Джона, чтобы разрешить методы, отличные от GET и POST.

1 голос
/ 25 октября 2010
1 голос
/ 25 октября 2010

Вот документация MSDN по этому вопросу: Обеспечение доступности услуги через границы домена.

...