Maison >développement back-end >C++ >Pourquoi mon HttpClient ne transmet-il pas les informations d'identification à mon service Windows ?

Pourquoi mon HttpClient ne transmet-il pas les informations d'identification à mon service Windows ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-23 14:22:16873parcourir

Why Doesn't My HttpClient Pass Credentials to My Windows Service?

Résoudre les problèmes d'informations d'identification HttpClient

Lorsque vous utilisez HttpClient pour accéder à un service Windows nécessitant une authentification, les informations d'identification peuvent ne pas être transmises correctement. Cela se produit souvent avec l'API Web ASP.NET MVC et l'usurpation d'identité IIS.

La différence dans la manière dont HttpClient et WebClient gèrent les informations d'identification est essentielle. La propriété UseDefaultCredentials de HttpClient vise à gérer la récupération des informations d'identification, mais elle peut s'avérer peu fiable.

Pour une transmission garantie des informations d'identification, définissez explicitement UseDefaultCredentials sur true dans votre HttpClientHandler :

<code class="language-csharp">var httpClient = new HttpClient(new HttpClientHandler() { UseDefaultCredentials = true });</code>

Cela indique à HttpClient d'utiliser les informations d'identification par défaut du système d'exploitation. Cela reflète le comportement de WebClient, garantissant que l'utilisateur qui lance la demande d'application Web est correctement authentifié par le service Windows.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn