Я написал приложение Windows WPF 4.0, которое использует .net 3.5 WebService. Это прекрасно работает, когда веб-сервис размещен, чтобы разрешить анонимные подключения, однако WebService, который мне нужно использовать, когда мы начнем работать, будет поддерживаться на веб-сайте с включенной встроенной аутентификацией.
Человек, работающий с приложением WPF, будет зарегистрирован на компьютере в том же домене, что и веб-сервер, и у него будет разрешение на просмотр веб-службы (без ввода информации об авторизации) при переходе к ней с помощью веб-браузера с аутентификацией NTLM. включен.
Можно ли передать сведения о уже вошедшем в систему пользователе, выполняющем приложение, в WebService?
Вот код, который я сейчас использую:
MyWebService.SearchSoapClient client = new SearchSoapClient();
//From the research I've done I think I need to something with these:
//UserName.PreAuthenticate = true;
//System.Net.CredentialCache.DefaultCredentials;
List<Person> result = client.FuzzySearch("This is my search string").ToList();
Любые указатели высоко ценятся.
Вот сообщение об ошибке, которое я получаю, когда выполняется текущий вызов:
HTTP-запрос не авторизован с
схема аутентификации клиента
'Anonymous'. Заголовок аутентификации
получил с сервера был
«Переговоры, NTLM, Digest
QOP = "аутентификация", алгоритм MD5 =-Sess, Nonce = "+ модернизированные + V17 {hashremoved}", кодировка = UTF-8, сфера = "Дайджест".