2011-06-07 2 views
3

Я пытаюсь настроить службу WCF для разрешения как Windows/NTLM, так и базовой проверки подлинности. К сожалению, с учетом этой конфигурации работает только Windows/NTLM, а базовая аутентификация завершается с http status code of 401 Unauthorized.Невозможно использовать базовую аутентификацию для доступа к веб-службе WCF

Наш сервер IIS 7.5 настроен на разрешение обоих этих типов аутентификации. enter image description here

Что не так с приведенной ниже конфигурацией, которая препятствует нормальной аутентификации?

<wsHttpBinding> 
    <binding name="webBinding"> 
    <security mode="Transport"> 
     <transport clientCredentialType="Windows" /> 
     <transport clientCredentialType="Basic" realm="XXX.YYY.com" /> 
    </security> 
    </binding> 
</wsHttpBinding> 

Я также попытался использовать basicHttpBinding, как пост форума указал, что wsHttpBinding might prevent basic authentication если WCF чувствовал пароль был передается в незашифрованном виде.

+0

Установили ли вы HTTP-сниффер, как Fiddler или Charles или даже Wireshark? Нет? Установите его, а затем опубликуйте результаты. – Aron

ответ

0

Я бы создал два конечных пункта, которые используют учетные данные Windows и другую конечную точку, которая использует Basic.

+0

Ричард Я пробовал использовать только базовые и имел ту же проблему. Независимо от того, какая конфигурация базовой HTTP-аутентификации не будет работать. – ahsteele