134 votes

IIS - 401.3 - Non autorisé

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

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

J'ai donné l'accès en lecture à tout le monde sur le dossier et j'ai réessayé. J'ai alors pu accéder à la page.

Ensuite, j'ai comparé les propriétés de mon dossier avec celles de wwwroot. J'ai constaté que wwwroot avait un accès en lecture sur IIS_IUSRS... Lorsque j'ai fait la même chose sur mon dossier et j'ai réessayé, j'ai à nouveau obtenu l'erreur ci-dessus. J'ai vérifié que l'accès anonyme est activé par défaut, mais je continue de recevoir cette erreur.

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

1voto

Kris Points 128

Juste au cas où quelqu'un d'autre rencontre ce problème. J'ai essayé toutes ces étapes de dépannage et il s'avère que parce que j'ai décompressé certains fichiers à partir d'un MAC, Microsoft a automatiquement, sans aucune notification, crypté les fichiers. Après des heures à essayer de définir les autorisations de dossier, j'ai vu que les noms de fichiers étaient en vert, ce qui signifie que les fichiers étaient cryptés et IIS lancera la même erreur même si les autorisations de dossier sont correctes.

1voto

Aevi Rontos Points 9
  1. Créez un nouveau site, faites un clic droit sur le dossier Sites puis cliquez sur Ajouter un site
  2. Entrez le nom du site.
  3. Sélectionnez le chemin physique
  4. Sélectionnez l'adresse IP
  5. Changez le port
  6. Cliquez sur OK
  7. Allez dans les Pools d'application
  8. Sélectionnez le pool du site
  9. Faites un clic droit puis cliquez sur Paramètres avancés
  10. Changez la version du CLR .Net en "No Manage Code"
  11. Changez l'identité en "ApplicationPoolIdentity"
  12. Allez sur la page d'accueil du site puis cliquez sur "Authentification"
  13. Faites un clic droit sur Authentification anonyme puis cliquez sur "Modifier"
  14. Sélectionnez l'identité du pool d'applications
  15. Cliquez sur OK
  16. Voilà !

pour les routes ajoutez un web.config

0voto

nicoTaccari Points 1

Un autre problème qui peut survenir en rapport avec la réception d'une autorisation non autorisée est lié aux fournisseurs utilisés dans le paramètre d'authentification de IIS. Dans mon cas, j'ai rencontré ce problème lorsque j'ai défini le fournisseur d'authentification Windows comme "Negotiate". Après avoir sélectionné l'option "NTLM", l'accès a été accordé.

Plus d'informations sur les fournisseurs d'authentification

https://learn.microsoft.com/en-us/iis/configuration/system.webserver/security/authentication/windowsauthentication/providers/

0voto

user2907940 Points 49

Veuillez activer les éléments suivants dans Windows 2012 R2

enter image description here

0voto

Jpsy Points 2811

Si vous travaillez avec l'authentification du pool d'applications (au lieu d'IUSR), ce que vous devriez faire, alors cette liste de vérifications par Jean Sun est la meilleure que j'ai pu trouver pour traiter les erreurs 401 dans IIS :


Ouvrez le Gestionnaire IIS, naviguez jusqu'à votre site web ou le dossier d'application où le site est déployé.

  1. Ouvrez les paramètres avancés (ils se trouvent dans le volet Actions à droite).
  2. Notez le nom du pool d'applications, puis fermez cette fenêtre.
  3. Double-cliquez sur l'icône Authentification pour ouvrir les paramètres d'authentification.
  4. Désactivez l'authentification Windows.
  5. Cliquez avec le bouton droit sur l'authentification anonyme et cliquez sur Modifier.
  6. Choisissez le bouton radio Identité du pool d'applications, puis cliquez sur OK.
  7. Sélectionnez le nœud Pools d'applications dans l'arborescence du gestionnaire IIS à gauche et sélectionnez le nom du pool d'applications que vous avez noté à l'étape 3.
  8. Cliquez avec le bouton droit et sélectionnez Paramètres avancés.
  9. Développez les paramètres du modèle de processus et choisissez ApplicationPoolIdentity dans la liste déroulante "Compte intégré", puis cliquez sur OK.
  10. Cliquez à nouveau sur OK pour enregistrer et fermer la page des paramètres avancés du pool d'applications.
  11. Ouvrez une invite de commandes en tant qu'Administrateur (cliquez avec le bouton droit sur l'icône CMD et sélectionnez "Exécuter en tant qu'administrateur". Elle se trouvera quelque part dans votre menu Démarrer, probablement sous Accessoires.
  12. Exécutez la commande suivante :

    icacls  /grant "IIS APPPOOL\"(CI)(OI)(M)

    Par exemple :

    icacls C:\inetpub\wwwroot\mysite\ /grant "IIS APPPOOL\DEFAULTAPPPOOL":(CI)(OI)(M)

En particulier, les étapes 5 et 6 sont souvent négligées et rarement mentionnées sur le web.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X