La connexion de base de données de confiance ASP.NET à un autre serveur fonctionne dans Casini et non dans IIS

StackOverflow https://stackoverflow.com/questions/205140

  •  03-07-2019
  •  | 
  •  

Question

Notre site Web se connecte correctement à une base de données lorsque vous l'exécutez localement à l'aide du serveur Web intégré. Cependant, lorsque nous déployons le site sur notre serveur exécutant IIS, nous obtenons une erreur de connexion à la base de données. Le serveur de base de données est différent de notre serveur IIS. Notez qu'une connexion sécurisée à une autre base de données sur le serveur SAME en tant que services Internet (IIS) fonctionne correctement.

Que devons-nous faire pour nous connecter à une base de données SQL sur un serveur différent avec une connexion sécurisée?

Était-ce utile?

La solution

Lorsque vous utilisez un site Web avec Cassini, le compte utilisé par le processus du serveur Web est votre propre compte que vous utilisez pour vous connecter à votre ordinateur Windows. Ce compte sera différent sur IIS.

Prenez en compte les implications de l’ouverture de la base de données sur la sécurité d’un accès plus étendu que celui dont vous pourriez avoir besoin avec une connexion sécurisée. Peut-être pourriez-vous utiliser l'authentification Windows avec un compte de service. En d'autres termes, créez un utilisateur spécifique à l'application dans SQL Server avec des autorisations limitées. Ensuite, vous profiterez des avantages du regroupement de connexions tout en évitant de transmettre des informations d'identification.

Autres conseils

Je vérifierais le compte d'utilisateur que le domaine d'application dans IIS utilise pour se connecter à SQL Server. Le compte dans IIS peut également ne pas avoir accès aux ressources réseau, ce qui expliquerait le problème pour atteindre l’autre serveur de base de données.

On dirait que vous devez configurer le serveur de base de données pour fournir un accès à la base de données à laquelle vous essayez de vous connecter.

En supposant que SQL Server, connectez-vous à SQL Server Enterprise Manager et sous Sécurité - > Ouvrez une session, ouvrez les propriétés de l'utilisateur concerné (probablement le compte de service réseau ou ASP.NET du serveur Web), accédez à l'onglet Accès à la base de données et assurez-vous que la case à cocher Autoriser est cochée pour la base de données à laquelle vous vous connectez.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top