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

81

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 dans le dossier de l'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?

Nathan Ridley
la source
Je poursuis ce problème depuis quelques heures maintenant. J'ai déjà IUSR et Server \ IUSR aura l'autorisation de lecture. Le problème de mine s'est avéré être des dossiers chiffrés extraits d'un fichier Zip. Si le nom du dossier est vert, essayez de supprimer la case à cocher de la boîte de dialogue Paramètres avancés de la propriété. Cela a résolu mon problème.
Lionel Morrison

Réponses:

123

IIS 7 crée également "IUSR" en tant qu'utilisateur par défaut pour accéder aux fichiers via IIS. Donc, rendre 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 Edition -> Ajouter -> Avancé -> Trouver maintenant -> Sélectionnez IUSR et cliquez quatre fois sur OK


la source
5
Assurez-vous que vous cherchez au bon endroit. Je cherchais IUSR sur mon domaine de travail et je ne trouvais rien. Ensuite, j'ai changé l'emplacement en mon nom d'ordinateur.
Mike Blandford
8
Remarque: Il fallait que IUSR et IIS_IUSRS y aient accès pour fonctionner sur ma machine. J'ai essayé de supprimer IIS_IUSRS après avoir ajouté IUSR, pensant qu'IUSR était tout ce dont j'avais besoin, mais cela coassait.
kdawg
1
Cela m'a surpris que simplement ajouter IIS_IUSRsne suffisait pas; J'ai aussi dû ajouter IUSR. A retenir: o)
Owen Blacker
Certes, l'utilisateur IUSR est déjà membre de IIS_IUSRS par défaut? Mon serveur ne semble pas mentionner IUSR dans les autorisations par défaut définies pour wwwroot.
NickG
33

Trouvé ceci sur un autre forum, donc je ne peux pas prendre le crédit 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, puis sur Modifier après avoir choisi Authentification anonyme. Dans la fenêtre d'ouverture, sélectionnez Identité du pool d'applications et cliquez sur OK. "


la source
5
C'est ce qui me l'a fait.
Chris Marisic
J'utilise l'usurpation d'identité et c'était en quelque sorte le problème. Je ne sais pas pourquoi, mais ça a fonctionné!
Jarrod
Cela m'a empêché d'arracher tous mes cheveux aujourd'hui. Je vous remercie.
Pauska
Sur IIS 8.5, il semble que le paramètre par défaut pour une nouvelle application ne consiste pas à utiliser l'identité du pool d'applications, mais uniquement l'IUSR. On dirait un peu eu à moi!
Pathogen
Je suppose que cela a du sens de vouloir des identités séparées pour "l'utilisateur exécutant le pool d'applications" et "l'utilisateur imité par le pool d'applications après l'authentification" anonyme "- mais seulement avec le recul, et après avoir trouvé cette réponse!
Shambulator
20

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

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

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

marque
la source
10

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

S'il est anonyme, accédez au gestionnaire IIS, dans l'icône Authentification, choisissez le nom de l'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 nécessaires pour les fichiers / dossiers du site.

Si vous disposez d'un système de connexion, assurez-vous que le ou les utilisateurs que vous vous connectez possèdent des autorisations sur les fichiers du site, et que l'ID du pool d'applications que vous exécutez possède au moins un accès en lecture. aux fichiers.

MattB
la source
3

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, mais Microsoft l'a fait pour renforcer la sécurité de l'installation par défaut tout en réduisant le besoin de créer des comptes de service dans certains scénarios d'installation. Quoi qu'il en soit, vous devrez identifier ce compte "d'identité virtuelle" et lui accorder l'accès à votre annuaire ou modifier le compte de service du pool d'applications.

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

Voir cet article pour plus de détails.

ntcolonel
la source
3

Salut pour moi sur le travail IIS 8: 1) Allez dans le répertoire virtuel IIS - 2) authentification - 3) authentification anonyme - 4) définissez l’identité du pool d’applications.

Alex
la source
La réponse de l'IUSR et cette réponse sont nécessaires pour une solution complète dans tous les cas que j'ai rencontrés
Brian Knoblauch
2

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 lorsque je suis tombé dessus sur ma machine locale exécutant win7 et IIS7.

  • Aller à IIS7 -> Pools d'applications

    Recherchez le pool d'applications de votre site (dans mon cas, DefaultAppPool), cliquez avec le bouton droit de la souris et choisissez Options avancées.

    Chercher le chapitre Modèle de processus et changer le champ Identité en un utilisateur que vous savez sûrement avoir accès aux fichiers de votre dossier de site Web (dans mon cas, l'administrateur local)

Daniel Hedenström
la source
2

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 entre les comptes, voir Présentation des comptes d' utilisateurs et de groupes intégrés dans IIS.

Chris Pickering
la source
1

Essayez ceci ... Allez à Gestion de l’ordinateur (cliquez avec le bouton droit de la souris sur mon ordinateur et sélectionnez Gérer) -> Utilisateurs et groupes locaux -> Utilisateurs -> Sélectionnez IUSR_MACHINENAME -> Cliquez avec le bouton droit de la souris sur Propriétés -> Assurez-vous qu’il est bien membre. de 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.

Mat
la source
1

Essayez d’installer le côté client d’IIS en utilisant aspnet_regiis -cpuis réinitialiser IIS.

titilola
la source
1

Pour les utilisateurs où cela ne suffit pas:

Je l'ai eu pour travailler avec ceci:

  • Ouvrez la vue des fonctionnalités de votre site Web.
  • Aller aux mappages de gestionnaires.
  • Trouver le chemin pour .cshtml
  • Clic droit et cliquez sur Modifier les autorisations de la fonction
  • Sélectionnez Exécuter
  • Hit OK.

Maintenant, essayez de rafraîchir votre site Web.

Nixkuroi
la source