Το WebProxy.UseDefaultCredentials μπορεί να επαναφέρει ρητά διαπιστευτήρια
Αποφύγετε την επαναφορά ενός ρητού λογαριασμού διαμεσολαβητή .NET αναθέτοντας το UseDefaultCredentials στη συνέχεια.
Αυτή η ακολουθία φαίνεται ρητή, αλλά στο .NET 10 καταλήγει χωρίς διαπιστευτήρια διαμεσολαβητή:
proxy.Credentials = new NetworkCredential(proxyUser, proxyPassword);
proxy.UseDefaultCredentials = false;
Στην υλοποίηση WebProxy του .NET 10, η ρύθμιση του UseDefaultCredentials σε false αναθέτει null στο Credentials. Η ρύθμιση σε true επιλέγει το CredentialCache.DefaultCredentials. Οι δύο ιδιότητες ελέγχουν την ίδια επιλογή λογαριασμού.
Για λογαριασμό ειδικό για υπηρεσία, αναθέστε τα προβλεπόμενα διαπιστευτήρια χωρίς μεταγενέστερη επαναφορά:
var proxy = new WebProxy("http://proxy.example.net:8080")
{
Credentials = new NetworkCredential(proxyUser, proxyPassword)
};
Αν ο υπάρχων κώδικας ρύθμισης πρέπει να απενεργοποιήσει ρητά τα προεπιλεγμένα διαπιστευτήρια, κάντε το πριν από την ανάθεση του NetworkCredential. Ο getter του μπορεί να είναι false ενώ υπάρχουν σωστά ρητά διαπιστευτήρια· το false δεν σημαίνει απαραίτητα ότι δεν έχει ρυθμιστεί λογαριασμός.
Συνδέστε αυτό το αντικείμενο με τον χειριστή που εκτελεί το αίτημα. Για ενοποιημένη πιστοποίηση Windows, επιλέξτε σκόπιμα τα προεπιλεγμένα διαπιστευτήρια, χρησιμοποιώντας την κατάλληλη ταυτότητα της διεργασίας.
Ελέγξτε τη σειρά του αρχικοποιητή αντικειμένου και τις βοηθητικές μεθόδους για μεταγενέστερες αναθέσεις που αντικαθιστούν τον προβλεπόμενο λογαριασμό. Συνδέστε αυτή τη διάγνωση με την υλοποίηση WebProxy που χρησιμοποιείται· μια ιδιότητα με το ίδιο όνομα σε χειριστή HTTP μπορεί να διέπει διαφορετικό πεδίο πιστοποίησης.