2012-07-24 16 views
6

Mam usługę sieci Web ASP.NET MVC 4. Na moim dev-devie używam IIS Express 7.5, więc nazywamy localhost: port. Ustawiłem go tak, aby korzystał z uwierzytelniania systemu Windows i wyłączył anonim.HttpWebRequest + Windows Auth - NetworkCredential po prostu nie działa

Na moim klientem, jeśli ustawić

HttpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials; 

to działa. Ale jeśli ustawię poświadczenia do mojego innego konta domeny Windows,

HttpWebRequest.Credentials = new NetworkCredential("lpuplett", "catsGoW00f", "ntdom")); 

następnie otrzymuję 401 Nieautoryzowane. Czy coś nie rozumiem; czy to powinno działać?

Próbowałem dodać dane uwierzytelniające do obiektu CredentialCache i ustawienie pamięci podręcznej podczas krzyżowania moich palców, a także z oczami mocno zamkniętymi, naprawdę nadzieję.

Dzięki,

Luke

SOLVED

spędzony 3 godziny poszukiwania i po zaksięgowaniu moje własne pytanie wylądowałem na odpowiedź, tutaj na trusty SO:

Domain credentials for a WebClient class don't work

Dzięki za nic ;-)

Odpowiedz

5

Od komentarz w połączonej duplikatu pytanie:

musisz określić typ uwierzytelniania. Gdy serwer wyzywa klienta z uwierzytelnianiem NTLM, metoda ICredentials.GetCredential zostanie wywołana na WebClient.Credentials z authType = "NTLM". Jeśli użyłeś WebClient.Credential = new NetworkCredential (...), ponieważ nie określono typu uwierzytelniania, klient nie będzie w stanie odpowiedzieć poprawnie. CredentialCache już implementuje tę funkcję. - Darin Dimitrov lis 5'09 at 14:57

Powiązane problemy