2012-03-08 7 views
2

Я уже потратил столько времени, чтобы выяснить, в чем проблема. Я получаю эту ошибку при использовании службы WCF из приложения для настольных компьютеров. Услуга отлично работает при доступе из браузера с клиентом silverlight.HTTP-запрос неавторизован с помощью схемы аутентификации клиента «Negotiate»

Сообщение об ошибке:

System.ServiceModel.Security.MessageSecurityException: Запрос HTTP является несанкционированным со схемой аутентификации клиента Обсуди. Заголовок аутентификации, полученный с сервера, был «Negotiate, NTLM».

Не понимаю, почему это не работает, даже если оба клиента и сервер имеют одну и ту же схему аутентификации «Переговоры». Я получаю HTTP 401.

Я проверял конфигурацию клиента и сервера правильно, потому что он работает в клиенте silverlight с использованием той же конфигурации клиента.

Веб-сайт IIS7 настроен с использованием проверки подлинности Windows с использованием переговоров поставщиков, NTLM.

Итак, что означает это сообщение об ошибке? :(

+0

Ошибка подразумевает, что ваша консоль приложения доступ к службе WCF в качестве анонимного пользователя, но служба настроена только позволяют проверке подлинности Windows Не могли бы вы добавить конфигурацию сервиса WCF (элемент system.serviceModel из файла web.config/app.config или код, если он настроен динамически) и файл консоли app.config на ваш вопрос. –

ответ

0

Я установил мой вопрос WCF устанавливая безопасность клиента.
client.ClientCredentials.Windows.ClientCredential = System.Net.CredentialCache.DefaultNetworkCredentials;
client.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation;