DefaultCredentials nie zamienia twojego logowania do Windows w zwykłe hasło Basic
Dopasuj domyślny kontekst zabezpieczeń .NET do schematu uwierzytelniania serwera proxy, zamiast oczekiwać, że konto Basic zapisane w przeglądarce pojawi się automatycznie.
Przeglądarka pamięta konto serwera proxy. Twój klient .NET używa CredentialCache.DefaultCredentials i otrzymuje 407 bez oczekiwanego ponowienia. Te dwa fakty są zgodne.
DefaultCredentials reprezentuje bieżący kontekst zabezpieczeń dla obsługiwanego uwierzytelniania zintegrowanego. Microsoft dokumentuje jego zastosowanie do NTLM, Negotiate i Kerberos. To nie jest żądanie wyodrębnienia nazwy użytkownika i hasła w postaci jawnej z logowań zapisanych w przeglądarce.
Jeśli serwer proxy oferuje Basic i wymaga osobnego konta, skonfiguruj to konto przez interfejs poświadczeń serwera proxy obsługiwany przez klienta. Jawne NetworkCredential i bieżący kontekst zabezpieczeń Windows to różne dane wejściowe.
Sprawdź ogłoszone wyzwanie przed zmianą hasła. Sprawdź też, który kontekst użytkownika uruchamia aplikację. Plik wykonywalny pulpitu i usługa mogą mieć różne tożsamości, nawet gdy są uruchamiane na tym samym komputerze.
Nie ma powodu kopiować konta także do właściwości poświadczeń miejsca docelowego. Zachowaj logowanie pośrednika u pośrednika. Przydatna diagnostyka wymienia trzy rzeczy: wybrany serwer proxy, żądany przez niego schemat i rodzaj poświadczeń, które aplikacja faktycznie dostarczyła.