Aufbau einer CredentialCache für HttpWebRequest.Anmeldeinformationen, wenn Umleitungen sind unbekannt
Ich fragte vor kurzem ein Frage über NetworkCredential-und HttpWebRequest.Anmeldeinformationen, wenn ein server gibt Umleitungen. Ich habe festgestellt, dass der Aufbau einer CredentialCache der NetworkCredential-Instanzen funktioniert für mein Szenario. Jetzt habe ich eine temporäre Methode, baut die CredentialCache-mit allen domain-Namen, die hart codiert in. Es funktionierte, das ist toll.
CredentialCache cache = new CredentialCache();
cache.Add(new Uri("http://example.com"), "Negotiate", loginCredentials);
cache.Add(new Uri("http://redirected.example.com"), "Negotiate", loginCredentials);
request.Credentials = cache;
Nun, ich brauche, um diesen flexibler. Die ganze Idee der leitet, ist für das load balancing auf dem server. Der Kunde nicht genau weiß, wo es dann weitergeleitet, bis der Anruf von HttpWebRequest.GetResponse(). Was ist die bevorzugte Methode zum Aufbau der CredentialCache einzelnen server umgeleitet, wie Sie aufgetreten sind? Auch, was ist das rationale hinter macht das so schwer? Warum kann nicht eine einzige NetworkCredentials Instanz befriedigen HttpWebRequest.Die Zugangsdaten für alle umleiten? Hat es Sicherheitslücken nach sich ziehen, um die Wiederverwendung von Anmeldeinformationen über Umleitungen?
Dank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Benutzte ich den code und habe den Fehler 401 (SharePoint 2010-OOB-Web-Services). Überprüft dann in einer anderen Seite und versucht, "
NTLM
" statt "Negotiate
" in der unter Zeile. Es funktioniert jetzt gut.Nicht Funktioniert:
Arbeiten:
Nate,
Ich sehe sind Sie mit "verhandeln", also, warum nicht Sie verwenden
für alle Weiterleitungen?
Aus der MSDN: