Authentification SQL Server et windows dans IIS7
Je vais essayer d'obtenir un ASP.NET site web en cours d'exécution sur Vista (IIS7), en utilisant l'Authentification Windows et SQL Server. Peu importe ce que je fais, lorsque je me connecte à la base de données, j'obtiens l'exception:
SqlException était non gérée Échec de la connexion de l'utilisateur 'MyDomain\MachineName$'.
Il ne semble pas à la matière ce que j'applique, je ne peux pas obtenir IIS7 de passer à travers mon Windows identifiants de connexion.
De détails supplémentaires:
- SQL Server et ma machine locale sont sur ActiveDirectory
- Vista Entreprise, IIS7
- SQL Server 2005
- L'Authentification anonyme désactivé, Windows activé l'Authentification
- Usurpation d'identité sur/off ne fait aucune différence
- Toutes les Identités (service réseau, LocalSystem, etc) donnent le même résultat
- Classique et intégrée des pipelines donner le même résultat
Aider!
Est ISS et SQL Server sur des serveurs différents ou le même serveur?
Yep, ils sont en cours d'exécution sur les différents serveurs.
Yep, ils sont en cours d'exécution sur les différents serveurs.
OriginalL'auteur gerrod | 2009-12-04
Vous devez vous connecter pour publier un commentaire.
Usurpation d'identité sur/off qui fait toute la différence, lorsqu'elle est correctement configuré. Ce que vous voulez est caled 'la délégation contrainte" et vous avez besoin pour configurer IIS et ASP:
OriginalL'auteur Remus Rusanu
Par défaut, le serveur IIS n'est pas autorisé à
impersonate
vous vers le Serveur SQL. Il y a un Article MSDN sur la façon de le configurer. Le processus de configuration est complexe et sujette à erreurs.Si votre production de l'ISS et SQL Server exécuté sur des serveurs différents, vous aurez besoin d'un administrateur de domaine pour configurer l'emprunt d'identité de confiance entre les deux serveurs. C'est un no-go dans une grande organisation.
En plus de ne pas déployés par les normal de les admins, usurpation d'identité empêche également les utilisateurs de partager leurs connexions dans le pool de connexion SQL. Il en résulte une très notable de la performance, même pour les petits (5+ utilisateurs) des sites web.
OriginalL'auteur Andomar
Avez-vous essayez de créer un nouveau compte d'utilisateur de votre application, accorder les droits appropriés sur le Serveur Sql server, puis définir le pool d'applications à exécuter en vertu de ce nouveau compte?
C'est ce que j'ai l'habitude de faire, et cela fonctionne. Je ne suis pas l'exécution de mon application sous NetworkService, LocalSystem ou d'autres builtin comptes.
OriginalL'auteur treaschf
Votre chaîne de connexion contiennent
Integrated Security=SSPI
?Avez-vous passé de la asp.net contexte à un utilisateur de domaine?
Voici un article MSDN sur ce sujet
http://msdn.microsoft.com/en-us/library/2xzyzb0f.aspx
IUSR_ComputerName
OriginalL'auteur Raj More