WebProxy.UseDefaultCredentials var atiestatīt skaidrus akreditācijas datus
Izvairieties no skaidras .NET starpniekservera konta atiestatīšanas, vēlāk piešķirot UseDefaultCredentials.
Šī secība izskatās skaidra, taču .NET 10 tā beidzas bez jebkādiem starpniekservera akreditācijas datiem:
proxy.Credentials = new NetworkCredential(proxyUser, proxyPassword);
proxy.UseDefaultCredentials = false;
.NET 10 WebProxy ieviešanā UseDefaultCredentials iestatīšana uz false piešķir null vērtību Credentials. Iestatīšana uz true izvēlas CredentialCache.DefaultCredentials. Abas īpašības kontrolē vienu un to pašu konta izvēli.
Pakalpojumam raksturīgam kontam piešķiriet paredzētos akreditācijas datus bez vēlākas atiestatīšanas:
var proxy = new WebProxy("http://proxy.example.net:8080")
{
Credentials = new NetworkCredential(proxyUser, proxyPassword)
};
Ja esošajam iestatīšanas kodam ir skaidri jāizslēdz noklusējuma akreditācijas dati, dariet to pirms NetworkCredential piešķiršanas. Tā getter var būt false, kamēr skaidri akreditācijas dati ir pareizi pieejami; false nenozīmē, ka nav konfigurēts neviens konts.
Pievienojiet šo objektu apdarinātājam, kas izpilda pieprasījumu. Integrētai Windows autentifikācijai tā vietā apzināti izvēlieties noklusējuma akreditācijas datus, izmantojot procesa piemērojamo identitāti.
Pārbaudiet objekta inicializatora secību un palīgmetodes, vai nav vēlāku piešķiršanu, kas aizstāj paredzēto kontu. Saistiet šo diagnostiku ar izmantoto WebProxy ieviešanu; tāda paša nosaukuma īpašība HTTP apdarinātājā var pārvaldīt citu autentifikācijas tvērumu.