web-dev-qa-db-fra.com

IIS - 401.3 - Non autorisé

J'essaie de commencer à utiliser IIS. J'ai créé un nouveau site sur IIS, l'ai mappé sur un dossier de mon système de fichiers et ajouté index.html au dossier. J'ai défini le port sur 85 pour ce site. Lorsque j'essaie accéder http://localhost:85/index.html, Je reçois le message d'erreur suivant:

401.3 - non authentifié - Vous n'êtes pas autorisé à afficher ce répertoire ou cette page en raison de la configuration de la liste de contrôle d'accès (ACL) ou des paramètres de chiffrement de cette ressource sur le serveur Web.

J'ai donné un accès en lecture à tout le monde sur le dossier et essayé à nouveau. Je pourrais alors accéder à la page.

J'ai ensuite comparé les propriétés de mon dossier avec celles de wwwroot. J'ai trouvé que wwwroot avait un accès en lecture sur IIS_IUSRS ... Lorsque j'ai fait la même chose sur mon dossier et que j'ai réessayé, j'ai encore eu l'erreur ci-dessus. J'ai vérifié que l'accès anonyme est activé par défaut, mais j'obtiens toujours cette erreur.

Pourquoi cela arrive-t-il? Quelle est la bonne façon de résoudre le problème?

71
Aadith

J'ai lutté sur ce même problème pendant plusieurs jours. Vous pouvez résoudre ce problème en modifiant les propriétés d'accès utilisateur sécurisé du dossier du système de fichiers sur lequel votre site est mappé. Mais IIS_IUSRS n'est pas le seul compte que vous devez autoriser.

  • Dans IIS), dans la partie Authentification de la configuration de votre site, modifiez la ligne "Authentification anonyme" et vérifiez le compte défini comme "Utilisateur spécifique" (la menthe est IUSR).
  • Donnez les autorisations de lecture et d'exécution sur le dossier de votre site à ce compte.

OR

  • Dans IIS), dans la partie Authentification de la configuration de votre site, modifiez la ligne "Authentification anonyme" en sélectionnant "Identité du pool d'applications" au lieu de "Utilisateur spécifique".
134
groch

Voici ce qui a fonctionné pour moi.

  1. Définissez l'identité du pool d'applications sur un compte auquel des autorisations peuvent être attribuées à un dossier.
  2. Assurez-vous que le répertoire source et tous les fichiers associés disposent des droits de lecture sur les fichiers du compte attribué à la propriété d'identité du pool d'applications.
  3. Dans IIS, sur le nœud racine du serveur, définissez un utilisateur anonyme pour hériter de l'identité du pool d'applications. (C'était la partie avec laquelle j'ai eu du mal)

Pour que le serveur anonyme hérite de l'identité du pool d'applications, procédez comme suit.

  • Ouvrir IIS Manager (inetmgr)
  • Dans le volet de gauche, sélectionnez le nœud racine (nom d'hôte du serveur).
  • Dans le volet du milieu, ouvrez l'applet "Authentification".
  • Mettez en surbrillance 'Authentification anonyme'
  • Dans le volet de droite, sélectionnez "Modifier ..." (une boîte de dialogue devrait s'ouvrir).
  • sélectionnez 'Identité du pool d'applications'
46
barrypicker

Puisque tu as affaire à du contenu statique ...

Dans le dossier faisant office de racine de votre site Web, si vous cliquez avec le bouton droit de la souris sur> propriétés> sécurité, les "utilisateurs" apparaissent-ils dans la liste? sinon, cliquez sur "Ajouter ..." et tapez-le, assurez-vous de cliquer sur "Appliquer" lorsque vous avez terminé.

11
joelmdev

TL; DR;

Dans la plupart des cas , accorder l'accès au (x) compte (s) suivant (s) (un | les deux) suffira:

  1. IIS AppPool\DefaultAppPool
  2. IUSR

avec droits d'accès :

  1. Lire et exécuter
  2. Contenu du dossier
  3. Lis

C'est ça!

Lisez la suite pour une explication plus détaillée ...


  1. Ouvrez IIS et sélectionnez votre application .
  2. Sur le côté droit, cliquez sur Authentification .
  3. Sélectionnez " Authentification anonyme " ici.
  4. La boîte de dialogue suivante apparaît.

enter image description here

Accordez l'accès à la liste de contrôle d'accès du dossier de l'application Web en fonction de ce qui est sélectionné dans l'image ci-dessus:

  • Utilisateur spécifique: accorde l'accès pour les deux IUSR (dans mon cas) + IIS AppPool\DefaultAppPool
  • Identité du pool d'applications: accordez l'accès pour IIS AppPool\DefaultAppPool seulement

IIS AppPool\DefaultAppPool compte est le compte AppPool par défaut pour les nouvelles IIS). Si vous avez défini un compte personnalisé, utilisez-le.


Donnez les autorisations suivantes au (x) compte (s):

  1. Read & Execute
  2. List folder contents
  3. Read

enter image description here

C'est ça.

9
Legends
3
c-chavez

Juste au cas où quelqu'un d'autre se heurterait à cela. J'ai dépanné toutes ces étapes et il s'avère que j'ai décompressé certains fichiers d'un MAC, Microsoft automatiquement, sans aucune notification. Crypté les fichiers. Après des heures à essayer de définir les autorisations de dossier, je suis allé voir les noms de fichiers en vert, ce qui signifie que les fichiers étaient cryptés et IIS émettra la même erreur même si les autorisations de dossier sont correctes.

1
Kris