Невозможно использовать обычную проверку подлинности для доступа к веб-службе WCF

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

Наш сервер IIS 7.5 настроен на использование обоих этих типов аутентификации. введите здесь описание изображения

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

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

Я также пытался использовать basicHttpBinding, так как в сообщении на форуме указано, что Использование-wshttpbinding/878720#878720">wsHttpBinding может помешать обычной проверке подлинности, если WCF считает, что пароль передается в виде открытого текста.


person ahsteele    schedule 07.06.2011    source источник
comment
Установили ли вы HTTP-сниффер, такой как Fiddler, Charles или даже Wireshark? Нет? Установите один, а затем опубликуйте результаты.   -  person Aron    schedule 07.07.2014


Ответы (1)


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

person Richard Schneider    schedule 07.06.2011
comment
Ричард. Я пробовал использовать только основные, и у меня была такая же проблема. Независимо от конфигурации базовая HTTP-аутентификация не будет работать. - person ahsteele; 08.06.2011