BOGUE : Les canaux nommés ne fonctionnent pas quand le processus de traitement s'exécute sous un compte ASPNET.

Traductions disponibles Traductions disponibles
Numéro d'article: 315159 - Voir les produits auxquels s'applique cet article
Ancien nº de publication de cet article : F315159
Agrandir tout | Réduire tout

Symptômes

Quand les conditions suivantes sont réunies
  • Un processus de traitement ASP.NET (Aspnet_wp.exe) s'exécute sous le compte ASPNET par défaut. - et -

  • - et - Vous n'activez pas l'emprunt d'identité sur cette application. - et -

  • - et - Vous utilisez le fournisseur de données SQL Server .NET ou OLE DB .NET pour vous connecter à une base de données.
Il se peut que l'un des messages d'erreur suivants s'affiche :
OleDbException (0x80004005) : [DBNETLIB][ConnectionOpen (Connect()).]SQL Server n'existe pas ou l'accès est refusé].
- ou -
SqlException (0x80004005) : [DBNETLIB][ConnectionOpen (Connect()).]SQL Server n'existe pas ou l'accès est refusé].
- ou -
System.Data.SqlClient.SqlException : SQL Server n'existe pas ou l'accès est refusé
- ou -
System.Data.OleDbClient.OleDbException : SQL Server n'existe pas ou l'accès est refusé

Cause

Quand le processus de traitement ASP.NET s'exécute sous le compte ASPNET, si vous n'activez pas l'emprunt d'identité pour une application, tous les threads qui exécutent les requêtes de cette application s'exécutent sous le compte du processus. Le compte ASPNET ne peut pas établir de connexion de canaux nommés avec le serveur de base de données.

Résolution

Pour résoudre ce problème, appliquez l'une des méthodes suivantes :
  • Configurez le processus de traitement ASP.NET de sorte qu'il s'exécute sous le compte SYSTEM dans la section <processModel> du fichier Machine.config.
  • Activez l'emprunt d'identité sur votre application ASP.NET. Cette méthode fonctionne si l'utilisateur dont l'identité à été empruntée a accès à l'ordinateur et au serveur de base de données auquel vous êtes en train d'accéder.
  • Utilisez le protocole TCP/IP (Transmission Control Protocol/Internet Protocol) plutôt que le protocole de canaux nommés pour vous connecter à la base de données. Pour cela, ajoutez l'attribut suivant à la chaîne de connexion :
    "Network Library =dbmssocn"
    Par exemple :
    "User ID=myUserId;Password=myPassword;Initial Catalog=Pubs;Data Source=myServer;Network Library =dbmssocn"

Statut

Microsoft a confirmé l'existence de ce bogue dans les produits Microsoft répertoriés dans la section "Liste des produits concernés par cet article".

Références

Pour plus d'informations sur la sécurité ASP.NET, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
306590 INFO : Présentation générale de la sécurité ASP.NET.
Pour plus d'informations sur la section <processModel>, reportez-vous à la documentation suivante sur MSDN :
Section <processModel>
http://msdn2.microsoft.com/en-us/library/7w2sway1(vs.71).aspx

Propriétés

Numéro d'article: 315159 - Dernière mise à jour: dimanche 13 mai 2007 - Version: 2.3
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft ASP .NET (inclus avec .NET Framework)
  • Microsoft ADO .NET (inclus avec .NET Framework)
Mots-clés : 
kbbug kbdatabase kbgrpdsasp kbnofix kbsecurity KB315159
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.
Exclusion de responsabilité concernant les contenus obsolètes dans la Base de connaissances
Cet article concerne des produits pour lesquels Microsoft n'offre plus de support. Il est par conséquent fourni « en l'état » et ne sera plus mis à jour.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com