La construction d'un CredentialCache pour HttpWebRequest.Les informations d'identification lorsque les redirections sont anonyme
J'ai récemment demandé à un question concernant NetworkCredential et HttpWebRequest.Les informations d'identification lorsqu'un serveur renvoie les redirections. J'ai déterminé que la construction d'un CredentialCache de NetworkCredential instances qui fonctionne pour mon scénario. Maintenant, j'ai une méthode temporaire qui construit un CredentialCache avec tous les noms de domaine codé en dur dans. Il a travaillé, ce qui est excellent.
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;
Maintenant, j'ai besoin de le rendre plus souple. L'idée de la redirige est pour l'équilibrage de la charge sur le serveur. Le client ne sait pas exactement où il va être redirigé vers jusqu'à l'appel à HttpWebRequest.GetResponse(). Quelle est la méthode préférée pour la construction de la CredentialCache inclure chaque redirigé serveur comme elles sont rencontrées? Aussi, quelle est la raison de faire ce si difficile? Pourquoi pas un seul NetworkCredentials instance de satisfaire HttpWebRequest.Les informations d'identification pour chaque redirection? Est-il introduire des failles de sécurité à la réutilisation des informations d'identification au travers des redirections?
Grâce.
Vous devez vous connecter pour publier un commentaire.
J'ai utilisé le code et a obtenu erreur 401 (SharePoint 2010 OOB Web Services). Alors vérifié dans un autre site et essayé "
NTLM
" au lieu de "Negotiate
" dans la ligne ci-dessous. Ça fonctionne très bien maintenant.Ne Fonctionne Pas:
De travail:
Nate,
Je vois que vous êtes à l'aide de "négocier", alors pourquoi n'utilisez-vous pas
pour tous les redirections?
À partir de MSDN: