8
votes

Problème ASP classique Connexion à la base de données SQL Server distante

J'ai une application classique ASP que j'essaie de vous connecter à une base de données SQL Server 2008 sur un autre serveur. L'application ASP est servie à partir d'IIS7 sur Windows Server 2008.

J'ai modifié le pool d'applications du site Web à exécuter sous un compte Windows spécifique, que i avez vérifié a accès à la base de données sur la télécommande serveur.

Cependant, lorsque j'exécute l'application dans le navigateur, je reçois cette erreur: xxx

pourquoi est Il tente de se connecter à l'aide de la connexion NT Authority \ Anonyme? L'identité de la piscine App ne s'applique-t-elle pas au code ASP classique? Comment puis-je faire cette connexion en tant qu'utilisateur spécifique?

Modifier

Voici la chaîne de connexion que j'utilise:

fournisseur = sqloledb.1; source de données = mydBServer; catalogue initial = mydatabase; sécurité intégrée = SSPI


0 commentaires

3 Réponses :


-1
votes

Vous devez spécifier un nom d'utilisateur et un mot de passe pour la chaîne de connexion www.connectionstrings.com ou définir l'IIS Application à exécuter en tant qu'utilisateur spécifique, cependant, cela rendrait alors beaucoup de paramètres de sécurité dans IIS obsolètes.

Provider=SQLNCLI10;Server=myServerAddress;Database=myDataBase;Uid=myUsername; Pwd=myPassword;


4 commentaires

Je ne veux pas désactiver l'accès anonyme. J'utilise un formulaire pour authentifier les utilisateurs.


Vous ne devriez pas spécifier un nom d'utilisateur et un mot de passe (I.E. Authentification SQL) si vous pouvez l'éviter. Utilisation de l'authentification Windows (sécurité intégrée) signifie que vous n'avez pas besoin de mettre des informations d'identification dans vos fichiers de configuration, de sorte que si ces fichiers sont compromis, vous ne perdez pas le contrôle des informations d'identification. J'ai ajouté une réponse qui montre comment obtenir l'authentification Windows fonctionner pour l'ASP classique.


@Ronnieverby cela ne devrait pas être la réponse acceptée! Voir @robinm Réponse .


Je peux supprimer cela si ce n'est plus nécessaire.




22
votes

Pour un site d'utilisation de l'identité de pool d'applications pour ASP classique, vous devez modifier les informations d'identification utilisées pour l'authentification anonyme. Par défaut, le site sera défini pour utiliser un utilisateur spécifique, à savoir IUSR.

Sélectionnez Authentification à partir de la zone IIS de votre site, puis sélectionnez Authentification anonyme suivi de EDIT . Changez de à Identité de pool d'applications .

Il est conseillé d'utiliser l'authentification Windows (sécurité intégrée) sur l'authentification SQL sur SQL afin de ne pas avoir de lettres d'identification dans vos fichiers de configuration, de sorte que si ces fichiers sont compromis, vous ne perdez pas le contrôle des informations d'identification.


2 commentaires

Damedamn, cela me vexait depuis des jours. Merci d'avoir posté une solution.


@Ronnieverby cela devrait être la réponse acceptée! +1