web-dev-qa-db-fra.com

IIS 7.5 (Windows 7) - Erreur HTTP 401.3 - Non autorisé

J'essaie de tester mon site Web ASP.Net sur localhost et j'obtiens cette erreur:

HTTP Error 401.3 - Unauthorized
You do not have permission to view this directory or page because of
the access control list (ACL) configuration or encryption settings for
this resource on the Web server.

J'ai les utilisateurs suivants sur le dossier d'application du site Web, avec des autorisations de lecture/écriture complètes:

  • SERVICE RÉSEAU
  • IIS_IUSRS
  • SYSTÈME
  • Administrateurs
  • Nathan (moi)

Que puis-je essayer de résoudre ce problème?

82
Nathan Ridley

IIS 7 crée également "IUSR" comme utilisateur par défaut pour accéder aux fichiers via IIS. Assurez-vous donc que l'utilisateur IUSR a un accès en lecture aux fichiers/dossiers.

Comment vérifier si IUSR a lu Access? Clic droit -> Dossier -> Propriétés -> Onglet Sécurité Voir si IUSR est dans la liste des noms de groupes ou d'utilisateurs, si non.

Cliquez sur Modifier -> Ajouter -> Avancé -> Rechercher maintenant -> Sélectionnez IUSR et cliquez sur OK quatre fois

124
Ejaz

J'ai trouvé cela sur un autre forum, donc je ne peux pas m'en attribuer le mérite, mais je l'ai fait et cela a fonctionné pour moi:

"Essayez de modifier le paramètre d'authentification anonyme dans IIS7:

Cliquez sur Authentification et cliquez sur modifier après avoir choisi l'authentification anonyme. Dans la fenêtre d'ouverture, sélectionnez Identité du pool d'applications et cliquez sur OK. "

33
Stryder

J'ai eu le même problème dans IIS 7.5 sur Windows Server 2008. Pour moi, les étapes suivantes ont permis de résoudre le problème:

  • Ouvrez IIS Manager
  • Cliquez sur le site Web que vous souhaitez modifier
  • Double-cliquez sur Authentification
  • Cliquez sur Authentification anonyme, puis cliquez sur Modifier ... sous Actions
  • Modifiez pour utiliser les informations d'identification Identité du pool d'applications au lieu de l'utilisateur spécifique (le mien était IUSR)

Après avoir effectué cette modification, mes erreurs 401.3 ont disparu.

22
Mark

Utilisez-vous un mécanisme de connexion ou simplement une authentification anonyme?

Si anonyme, accédez au gestionnaire IIS, dans l'icône Authentification, choisissez le nom d'authentification anonyme, puis cliquez sur le bouton Modifier dans Actions. Vérifiez quel utilisateur y est spécifié et assurez-vous qu'il dispose des autorisations pour le fichiers/dossiers du site.

Si vous disposez d'une forme de système de connexion, assurez-vous que le ou les utilisateurs auxquels vous vous connectez disposent des autorisations pour les fichiers du site et assurez-vous que l'ID du pool d'applications sous lequel vous exécutez dispose au moins d'un accès en lecture. aux fichiers.

10
MattB

Salut pour moi sur IIS 8 fonctionne: 1) Continuez IIS répertoire virtuel - 2) authentification - 3) Authentification anonyme - 4) définissez l'identité du pool d'applications.

3
Alex

Par défaut, avec IIS 7.5, chaque pool d'applications s'exécute sous sa propre "identité virtuelle". L'identité du pool d'applications est constituée des informations d'identification utilisées pour accéder au système de fichiers.

Je ne suis pas sûr de la mécanique de celui-ci, mais Microsoft l'a fait pour augmenter la sécurité de l'installation par défaut tout en allégeant la nécessité de créer des comptes de service dans certains scénarios d'installation. Quoi qu'il en soit, le résultat est que vous devrez identifier ce compte "d'identité virtuelle" et lui accorder l'accès à votre répertoire, ou changer le compte de service de l'App Pool.

Les identités virtuelles du pool d'applications sont nommées "IIS AppPool \", donc si vous utilisez DefaultAppPool, son identité serait "IIS AppPool\DefaultAppPool".

Voir cet article pour plus de détails.

3
ntcolonel

Répondre pour inclure les informations des commentaires sur la réponse acceptée.

Dans IIS 7.5 sur Windows Server 2008r2, le groupe IIS_IUSRS est déjà inclus, mais le groupe IUSR distinct doit toujours être ajouté aux autorisations pour permettre l'accès/le téléchargement de fichiers.

Pour plus d'informations sur les différences dans les comptes, voir Comprendre les comptes d'utilisateurs et de groupes intégrés dans IIS.

2
Chris Pickering

Comme aucune des réponses ci-dessus ne m'a aidé, j'ai pensé partager la façon dont j'ai résolu ce problème en le rencontrant sur ma machine locale exécutant win7 et IIS7.

  • Accédez à IIS7 -> Pools d'applications

    Trouvez le pool d'applications de votre site (dans mon cas DefaultAppPool), faites un clic droit et choisissez Options avancées.

    Trouvez le chapitre Modèle de processus et changez le champ Identité en un utilisateur que vous connaissez pour avoir accès aux fichiers dans votre dossier de site Web (dans mon cas, l'administrateur local)

2
Daniel Hedenström

Pour les utilisateurs où cela ne suffit pas:

Je l'ai fait fonctionner avec ceci:

  • Ouvrez la vue des fonctionnalités de votre site Web.
  • Accédez à Mappages de gestionnaires.
  • Trouvez le chemin pour .cshtml
  • Clic droit et cliquez sur Modifier les autorisations des fonctionnalités
  • Sélectionnez Exécuter
  • Cliquez sur OK.

Essayez maintenant de rafraîchir votre site Web.

1
nixkuroi

Essayez ceci ... Allez dans Gestion de l'ordinateur (cliquez avec le bouton droit sur mon ordinateur et sélectionnez Gérer) -> Utilisateurs et groupes locaux -> Utilisateurs -> Sélectionnez IUSR_MACHINENAME -> Propriétés du clic droit -> Assurez-vous qu'il est membre des IIS_WPG et des utilisateurs et non des invités.


Je travaille avec Server 2008 R2 et le compte IUser n'est pas disponible dans la liste.

1
Matt

Essayez d'installer le côté client de IIS en utilisant aspnet_regiis -c, puis réinitialisez IIS.

1
titilola