Silverlight - ClientAccessPolicy.xml Синтаксис - PullRequest
0 голосов
/ 08 октября 2010

Я пытаюсь связаться с веб-сервером Apache междоменным способом.

У меня есть файл clientaccesspolicy.xml, настроенный в корне домена, и он успешно получен Silverlightклиент при попытке сделать GET-запрос к сервлету Java, который был настроен.

Особенности примерно такие:

URL для доступа: 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://*" />

быть

<domain uri ="*" />

Также.Должен

<resource path ="servlets/targetServlet" include-subpaths ="false"/> 

быть

<resource path ="/servlets/targetServlet" include-subpaths ="false"/>

1 Ответ

0 голосов
/ 08 октября 2010

Вы должны использовать <domain uri ="*" />, если хотите включить все вызывающие абоненты http и https. <domain uri ="http://*" /> включит только все HTTP-абоненты.

Используйте <resource path ="/servlets/targetServlet" include-subpaths ="false"/>, чтобы определить путь от корня сайта без доступа к каким-либо подкаталогам. Используйте это, чтобы быть конкретным, а не релизным От Ограничения доступа к сетевой безопасности в Silverlight

Атрибут является URI относительно корень домена. Это относится к конкретный путь, который может представлять сеть служба или файл.

Путь не может содержать подстановочный знак символы или символы не признано единым ресурсом Идентификатор (URI): общий синтаксис, http://ietf.org/rfc/rfc3986

Этот элемент и атрибут используются исключительно для запросов от WebClient и Классы HTTP.

...