Silverlight 4 & WCF: проверка подлинности Windows продолжает появляться - PullRequest
3 голосов
/ 05 мая 2011

мы разработали приложение SL4 с сервисом WCF.Приложение SL и служба размещаются в IIS 7 с включенной аутентификацией Windows, а все остальное отключено.В wwroot у меня есть этот файл политики клиентского доступа:

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

и этот файл междомена:

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
 <allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>

сервисная конфигурация xap silverlight выглядит следующим образомв разделе клиента:

 <binding name="SilverlightEndpoint" maxBufferSize="2147483647"
        maxReceivedMessageSize="2147483647">
      <security mode="TransportCredentialOnly" />
    </binding>
    ....
    <client>
  <endpoint address="http://app.domain.intern/MyService/MyService.svc"
      binding="basicHttpBinding" bindingConfiguration="SilverlightEndpoint"
      contract="[interface]" name="SilverlightEndpoint" />
     </client>

Теперь, когда я открываю свое приложение в Internet Explorer, оно предлагает мне ввести учетные данные для входа в Windows, после этого все работает нормально.В моей среде разработки встроенная аутентификация работает без проблем, мне не нужно вводить свои учетные данные перед доступом к моему приложению.Фактически, интегрированная аутентификация работала также в производственной среде, когда у меня был следующий адрес конечной точки в конфигурации клиента: "http://[servername]/MyService/MyService.svc". Кто-нибудь знает, как мне вернуть мою интегрированную аутентификацию?

1 Ответ

1 голос
/ 13 июня 2011

Наконец, я понял это.Вам действительно не нужно ничего менять в конфигурации клиента.Я просто сохранил адрес конечной точки "http://[servername]/MyService/MyService.svc" и проигнорировал псевдоним DNS. Проблема была в настройках безопасности браузера. В Internet Explorer 8 мне пришлось вручную добавлять псевдоним DNS на доверенные сайты в локальной зоне INTRANET (это важноЗатем все работало нормально, я получил доступ к приложению с именем сервера или псевдонимом dns, и всплывающее окно аутентификации исчезло.

...