Désactiver l'Authentification Windows pour WebAPI

Je suis à jouer avec un MVC4 application et l'utilisation de WebAPI pour récupérer/envoyer toutes mes données. Dans un contrôleur, je suis en utilisant un HttpClient demande pour obtenir les données et tous fonctionne bien. La question que je pose est que lorsque l'authentification Windows est activé dans le projet, le web, les appels d'API sont de retour une erreur 401 non autorisée.

le code dans mon contrôleur qui ne l'appelant est:

using (var client = new HttpClient())
{
    var invoiceDetailUrl = BASE_URL + Url.HttpRouteUrl(
        "DefaultApi",
        new { controller = "InvoiceDetails", id = id }
     );

     var result = client.GetAsync(invoiceDetailUrl).Result; 

 }

L'authentification Windows doit être sur le site, mais pas nécessairement les contrôleurs d'API Web. J'ai essayé à l'exclusion de l'API de contrôleurs dans le web.config comme ci-dessous:

<location path="api">
        <system.web>
            <authorization>
                <allow users="*"/>
        </authorization>
    </system.web>
</location>

mais les ajouts sur le web.config n'a rien fait.

Des suggestions?

  • Jamais tu trouves une solution pour cela? Je suis à la recherche de la même chose.
  • oui je l'ai fait, j'ai trouvé que vous avez besoin pour ce faire: HttpClientHandler handler = new HttpClientHandler(); gestionnaire.UseDefaultCredentials = true; using (var client = new client http(handler)) { } }
  • Où et comment avez-vous ajouter cet? sur la page principale? voulez-vous m'envoyer un exemple de code? (ASP.NET site Intranet à l'aide de Visual Studio 2013 - .NET 4.5 Framework)
InformationsquelleAutor ncbl | 2013-01-29