J'ai une application Web asp.net qui fonctionne correctement sur un ordinateur Windows XP dans un domaine. Je le porte sur une machine autonome Windows 7. L'application utilise un service Web qui appelle le serveur SQL. Le serveur Web (IIS 7.5) et SQL Server sont sur la même machine autonome.Erreur "NT AUTHORITY ANONYMOUS LOGON" dans Windows 7 (ASP.NET & Web Service)
J'ai activé l'authentification Windows pour le site Web et le service Web. Le service Web utilise une chaîne de connexion de connexion approuvée. Les informations d'identification du service Web utilisent System.Net.CredentialCache.DefaultCredentials. J'ai remarqué que le nom d'utilisateur, le mot de passe et le nom de domaine sont vides après l'appel! Le service Web et le site Web utilisent le 'Classique .NET AppPool' avec l'identité NetworkServices.
Je reçois une exception "NT AUTHORITY \ ANONYMOUS LOGON" dans l'appel de base de données dans le service Web. Je suppose que c'est lié aux pouvoirs vierges.
Je m'attends à ce que l'utilisateur ASPNET soit le jeton de sécurité de la base de données. Pourquoi cela ne se passe-t-il pas? Ai-je manqué un paramètre? (Habituellement, cela se produit lorsque le serveur sql et le serveur Web sont sur deux machines différentes dans un domaine, la délégation & double saut, mais dans mon cas tout est sur une boîte de dev)
J'avais juste le même problème dans IIS6 et j'ai dû changer le mode d'authentification en "authentification de base" et désactiver "l'authentification intégrée de Windows". Peut-être que cela fonctionnera aussi pour IIS7. Réponse trouvée dans la question de débordement de pile: http://stackoverflow.com/questions/1122072/asp-net-sqlserver-trust-and-delegation – WebDude