le meilleur moyen de se connecter à sql server (authentification Windows vs l'authentification SQL Server) pour asp.net app
J'ai une base de données et un site ayant l'authentification par formulaires. Il fonctionne très bien avec VS2008. Cette fois, je suis à l'aide de "Trusted_connection =True". Mais quand il est ouvert à partir de l'extérieur ou directement à partir du navigateur puis j'obtiens l'erreur "échec de la Connexion de l'utilisateur "NT AUTHORITY\ANONYMOUS LOGON'."
Je sais que c'est en raison de l'autorisation. SQL server est basé sur l'authentification windows.
- Quelle est la meilleure approche pour gérer la connexion de l'utilisateur SQL Server?
- Dois-je activer l'authentification SQL Server?
Je sais pas quoi faire pour qu'il rend la production de sentir et il n'y aurait pas de problème lors du déploiement.
Remarque: SQL Server est installé sur le serveur de domaine.
ce version de SQL Server? 2000, 2005, 2008 ??
Sql server 2005
Sql server 2005
OriginalL'auteur Brij | 2010-03-12
Vous devez vous connecter pour publier un commentaire.
Le site de l'authentification n'a rien à voir avec l'authentification entre l'ASP et SQL. Les "formes d'authentification" est en réalité pas une forme d'authentification true, c'est juste un rôle et la composition de la ASP.Net l'application, rien à voir avec l'infrastructure de sécurité.
Lorsque vous exécutez votre site à partir de Visual Studio, c'est le lancement de Visual Studio serveur web sous votre propre compte, et ce web serveur de s'authentifier auprès de SQL Server à l'aide de l'authentification NTLM/Kerberos comme vous, depuis est en cours d'exécution en vertu de vos informations d'identification.
Lorsque vous visitez le site à partir d'un navigateur internet, votre site est en cours d'exécution à partir du pool d'applications IIS avec l'identité de la demande de la piscine, qui est généralement un utilisateur local nommé IUSER_... Ce local de l'utilisateur, lors de l'authentification avec le Serveur SQL server à l'aide de l'authentification NTLM/Kerberos authentifier en tant qu'utilisateur Anonyme, depuis le compte local n'a pas de sens sur la machine distante/domaine qui héberge le Serveur SQL.
La solution est de changer l'identité du pool d'applications pour l'utilisateur peut s'authentifier correctement avec le Serveur SQL. Pour cela, l'hébergement IIS machine doit être joint au même domaine que SQL Server de l'ordinateur hôte (ou un domaine qui fait confiance à l'ordinateur hôte SQL Server nom de domaine) et l'identité du pool d'applications doit être changé pour un compte de ce domaine. Donc, si l'ordinateur SQL Server s'exécute sur un ordinateur membre du domaine FOO, alors:
La possibilité d'utiliser l'Authentification SQL est mauvais pour plusieurs raisons (potentiel d'exposer le mot de passe dans le web.config, le potentiel d'exposer le mot de passe lors de l'authentification sur le réseau). Si l'hébergement IIS machine n'est pas joint au domaine, alors vous peut utilisation miroir comptes (comptes locaux avec le même nom et mot de passe sur l'hôte IIS et SQL hôte), mais c'est également une erreur: ne peut pas travailler avec Kerberos, le mot de passe du compte doit être en phase sur les deux hôtes etc.
OriginalL'auteur Remus Rusanu
Une approche consiste à créer un compte de service pour l'application à utiliser. Vous créez le compte d'utilisateur dans Active Directory ou similaire. Dans IIS, définir le pool d'applications de fonctionner en vertu de ce compte de service. Dans SQL Server, accorder des autorisations pour le compte de service, soit directement, soit en mettant le compte de service dans un rôle.
Voici un article sur comment faire.
OriginalL'auteur DOK
Créer un compte de service managé dans le domaine où les deux d'ordinateur SQL server et le Serveur Web (IIS) de la machine appartient à ou de confiance. Ensuite, exécutez le serveur web de l'application de la piscine, sur la gestion de compte de service. Créer un compte de connexion SQL Server à l'aide de la gestion de compte de service. Lire la suite de Technet post pour plus d'informations sur la création de comptes de services gérés;
http://technet.microsoft.com/en-us/library/dd548356(v=ws.10).aspx
OriginalL'auteur Rasika Godawatte