Vous êtes actuellement hors ligne, en attente de reconnexion à Internet.

Votre navigateur n’est pas pris en charge

Vous devez mettre à jour votre navigateur pour utiliser le site.

Mettre à jour vers la dernière version d’Internet Explorer

CORRECTIF : ASP.NET ne fonctionne pas avec le compte ASPNET par défaut sur un contrôleur de domaine

Ancien nº de publication de cet article : F315158
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.
Symptômes
Après avoir installé Microsoft Visual Studio .NET ou Microsoft .NET Framework sur un contrôleur de domaine ou sur un contrôleur secondaire de domaine, lorsque vous tentez d'exécuter une application ASP.NET, le navigateur affiche le message d'erreur suivant :
Application serveur non disponible

L'application Web à laquelle vous essayez d'accéder sur ce serveur Web n'est pas disponible actuellement.

Cliquez sur le bouton "Actualiser" de votre navigateur Web pour renouveler la demande.
Par ailleurs, l'événement suivant est enregistré dans le journal d'événements d'applications système :
aspnet_wp.exe n'a pas pu être lancé, car le nom d'utilisateur et/ou le mot de passe fournis dans la section processModel du fichier de configuration ne sont pas valides.
Impossible de démarrer aspnet_wp.exe.
HRESULT pour l'échec : 80004005
Cela vaut pour la version 5.0 des services Internet (IIS) et les versions ultérieures.
Cause
Par défaut, ASP.NET exécute son processus de traitement (Aspnet_wp.exe) avec un compte faible (le compte d'ordinateur local, nommé ASPNET) pour offrir un environnement plus sécurisé. Sur un contrôleur de domaine ou un contrôleur secondaire de domaine, tous les comptes utilisateur sont des comptes de domaine et non des comptes d'ordinateur local. Par conséquent, Aspnet_wp.exe ne parvient pas à démarrer car il ne peut pas trouver de compte local nommé "nom_ordinateur_local\ASPNET". Pour fournir un compte utilisateur valide sur le contrôleur de domaine, vous devez spécifier un compte explicite dans la section <processModel> du fichier Machine.config ou utiliser le compte SYSTEM.

Remarque Si vous essayez de déboguer (cliquez sur le bouton Démarrer) avant d'essayer d'atteindre la page, vous pouvez rencontrer le même problème.
Résolution
Pour contourner ce problème, appliquez l'une des méthodes suivantes :
  • Créez un compte faible avec les autorisations appropriées, puis configurez la section <processModel> du fichier Machine.config de façon à utiliser ce compte.
  • Définissez l'attribut userName sur SYSTEM dans la section <processModel> du fichier Machine.config.
  • Configurez la section <processModel> du fichier Machine.config de façon à utiliser un compte d'administrateur.
Remarque Le fait d'autoriser l'exécution d'applications ASP.NET sous le compte SYSTEM ou un compte d'administrateur a de sérieuses répercutions sur la sécurité. Si vous utilisez l'une de ces solutions de contournement, le code exécuté dans le processus Aspnet_wp.exe aura accès au contrôleur de domaine et aux paramètres du domaine. Les fichiers exécutables démarrés à partir du processus Aspnet_wp.exe s'exécutent dans le même contexte et ont aussi accès au contrôleur de domaine.

Microsoft vous recommande donc d'utiliser la première solution de contournement. Pour utiliser celle-ci, procédez comme suit :
  1. Créez un compte utilisateur sur l'ordinateur nommé ASPUSER, puis ajoutez ce compte au groupe Utilisateurs.

    Remarque Vous pouvez également utiliser le compte ASPNET créé par le .NET Framework si vous modifiez le mot de passe de ce compte. Vous devez connaître le mot de passe sur ce compte car vous devrez l'ajouter à la section <processModel> plus loin dans cette procédure.
  2. Attribuez au compte ASPUSER ou ASPNET le droit d'utilisateur Ouvrir une session en tant que tâche. Assurez-vous que cette modification apparaît dans les paramètres de Stratégie de sécurité locale.

    Remarque Pour attribuer le droit d'utilisateur Ouvrir une session en tant que tâche sur ce compte, vous devrez peut-être attribuer ce droit pour chacune des stratégies de sécurité suivantes (à partir de Panneau de configuration/Outils d'administration) :

    • Stratégie de sécurité du contrôleur de domaine
    • Stratégie de sécurité du domaine
    • Stratégie de sécurité locale

    Remarque Vous devrez peut-être redémarrer le serveur pour que ces modifications soient prises en compte.
  3. Assurez-vous que le compte ASPUSER ou ASPNET est autorisé à accéder à tous les répertoires et fichiers nécessaires pour démarrer le processus Aspnet_wp.exe et pour servir les pages ASP.NET.Pour plus d'informations sur les autorisations que vous devez accorder à ce compte, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
    317012 Identité du processus et de la demande dans ASP.NET
  4. Ouvrez le fichier Machine.config. Le chemin d'accès au fichier est le suivant : %Systemroot%\Microsoft.NET\Framework\v1.0.3705\CONFIG.
  5. Dans la section <processModel> du fichier Machine.config, remplacez les attributs userName et password par le nom et le mot de passe du compte que vous avez créé à l'étape 1. Par exemple :
    userName="DomainName\ASPUSER" password="ASPUSERpassword"
  6. Enregistrez les modifications apportées au fichier Machine.config.
Statut
Microsoft a confirmé l'existence de ce bogue dans les produits Microsoft répertoriés dans la liste des produits concernés par cet article.Ce bogue a été corrigé dans ASP.NET (inclus dans le .NET Framework) 1.1
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 Présentation de la sécurité dans ASP.NET
Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
316989 Message d'erreur lorsque vous créez une connexion de données approuvée à partir d'ASP.NET vers SQL Server : « Échec de la connexion de l'utilisateur : 'NomCompte' »
329290 Comment faire pour utiliser l'utilitaire ASP.NET pour chiffrer des chaînes d'identification et de connexion pour l'état de la session
317012 Identité du processus et de la demande dans ASP.NET
kbreadme
Propriétés

ID d'article : 315158 - Dernière mise à jour : 02/04/2008 17:42:45 - Révision : 5.4

  • Microsoft ASP.NET 1.0
  • Microsoft Internet Information Services 5.0
  • Microsoft Mobile Internet Toolkit 1.0
  • kbproductlink kbfix kbbug kbconfig kbhttpruntime kbreadme kbsecurity KB315158
Commentaires
//c1.microsoft.com/c.gif?DI=4050&did=1&t=">='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?"> ;did=1&t="> + "//c.microsoft.com/ms.js'><\/script>"); t=">