При вызове веб-службы WCF в IIS 7 отсутствует заголовок авторизации - PullRequest
1 голос
/ 20 июня 2011

У нас есть веб-сервис WCF, который принимает заголовок авторизации «username: password».Эта служба отлично работает на моей машине под управлением Windows 7 и на машине под управлением Windows Server 2003.

Однако наши серверы разработки и новые производственные системы - Windows Server 2008, и службе не удается получить заголовок авторизации.

Ниже приведен необработанный запрос от Fiddler, содержащий заголовок авторизации.

POST http://servername/service.svc/soap HTTP / 1.1
Content-Type: text / xml;charset = utf-8
Авторизация: test: test
VsDebuggerCausalityData: uIDPozpQ7mbpOVRFu79Tl0h3mkIAAAAAJMavDzJlIkqyjJDSIIxdVuKNB0: 105 * * * * * 21018 * Ожидание: 100-продолжить
Принять-кодирование: gzip, deflate
Соединение: Keep-Alive

Я не включил расширенную регистрацию IIS, чтобы проверить, могу ли я получить какую-либодополнительная информация о сервере.

Веб-сайт IIS настроен для анонимной аутентификации.

Служба реализует IAuthorizationPolicy , и метод Evaluate определенно используетсяназывается, где информация об авторизации отсутствует.

Такое ощущение, что я что-то неправильно настроил в IIS, но я понятия не имею, что!Любая помощь будет высоко ценится.

1 Ответ

0 голосов
/ 21 июня 2011

Оказывается, я имел дело с двумя разными проблемами.

На сервере разработки я обнаружил, что установка .NET 4.0 была прервана.Это было диагностировано этим блестящим инструментом .

На обоих серверах я изменил режим конвейера с Классический на Интегрированный , поскольку никто не знал, почемуэто было установлено в Классический в первую очередь.Несколько настроек веб-конфигурации позже, и служба работала!

Возможно, для решения также потребовалась базовая аутентификация, как предложил Ричард Л, так как она отсутствовала на рабочем сервере.Обратите внимание, что базовая проверка подлинности не включена на самом веб-сайте службы.

Несколько разочаровывающих дней, пытающихся заставить это работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...