ASP.Net application web en essayant d'utiliser l'emprunt d'identité et de la Délégation à se connecter à SQL Server

Je suis en train d'utiliser l'emprunt d'identité et de la Délégation dans un intranet ASP.Net web-app afin de passer authentifié informations d'identification des utilisateurs sur un Serveur SQL.

Le serveur web et SQL server sont deux machines distinctes, mais dans le même domaine, de sorte que la Délégation est nécessaire.

J'ai effectué les opérations suivantes:

  • ensemble <authentication mode="Windows"/> et <identity impersonate="true"/> dans mon web-app web.config.
  • permis à la Délégation Contrainte de du serveur web au service MSSQLSvc sur le Serveur SQL server, Active Directory.
  • activé uniquement l'Authentification Windows dans le site web, par l'intermédiaire de IIS.

Apparemment ce doit tous les travaux, mais il n'a pas (le Serveur SQL est le refus de l'accès à l'utilisateur anonyme - "échec de la Connexion de l'utilisateur "NT AUTHORITY\ANONYMOUS LOGON'").

Dans IIS7, le Pool d'Applications est configuré pour utiliser Intégrée Pipleline Mode et est en cours d'exécution avec le service réseau de l'Identité. Le site a uniquement l'Authentification Windows est activée, la Protection Étendue est Éteint, en mode Noyau de l'authentification est activée, et NTLM est le fournisseur.

Toutes les pages web que j'ai lu semble indiquer que mon installation devrait fonctionner. Ce qui me manque?

"le Serveur SQL est le refus de l'accès à l'utilisateur anonyme", faites de votre anonymous user ont accès à la base?
L'utilisateur anonyme n'a pas accès à la base de données. Je ne veux pas que l'utilisateur anonyme accéder à la base de données, je veux de l'actuel de l'utilisateur du site web. La délégation devrait signifier que l'utilisateur actuel est le seul accès à la base de données, plutôt que l'utilisateur anonyme.

OriginalL'auteur Graham Clark | 2010-01-20