Защита службы WCF с помощью проверки подлинности на основе форм для использования в Silverlight с пользовательской привязкой - PullRequest
1 голос
/ 21 марта 2011

У меня есть веб-сайт (asp.net 4.0), который использует проверку подлинности с помощью форм, у этого сайта есть дочерний сайт, на котором размещен другой сайт, на котором размещено приложение silverlight. Первый сайт предоставляет страницу входа в систему, и оба сайта имеют одинаковые имена файлов cookie и ключи компьютеров, что позволяет совместно использовать имя входа. Все это работает так, как мы хотим. Суть проблемы заключается в том, что приложение silverlight пытается вызвать службы WCF, которые размещены на том же веб-сайте, что и на его веб-сайте (то есть дочернем сайте), но при каждом вызове происходит сбой. Я всегда вижу код ответа 302, который пытается перенаправить вызов службы на страницу входа.

Мой сервис WCF использует привязку, подобную этой:

<customBinding>
    <binding name="SUV_MVVM.Web.Services.ExportHelper.customBinding0" >
        <binaryMessageEncoding>
            <readerQuotas maxStringContentLength="524288" />
         </binaryMessageEncoding>
         <httpTransport transferMode="StreamedResponse" />
    </binding>
  </customBinding>

и мое приложение silverlight использует бингинг, который выглядит следующим образом (установлен в ServiceReferences.ClientConfig)

<customBinding>
    <binding name="CustomBinding_IExportHelper_StreamedResponse">
        <binaryMessageEncoding />
        <httpTransport transferMode="StreamedResponse" />
     </binding>
</customBinding>

В нескольких местах я читал, как настроить аутентификацию форм для httpBindings, но я не могу найти ничего, что, кажется, применимо к customBindings. Как мне этого добиться?

...