web-dev-qa-db-fra.com

IIS Express donne une erreur d'accès refusé lors du débogage d'ASP.NET MVC

J'ai créé un projet ASP.NET MVC 3 et j'utilise IIS Express comme serveur Web lors du développement. Lorsque j'essaie de déboguer, je reçois le message d'erreur ci-dessous.

Comment cela peut-il être résolu?

Erreur serveur dans l'application '/'.

L'accès est refusé. Description: une erreur s'est produite lors de l'accès aux ressources requises pour répondre à cette demande. Le serveur peut ne pas être configuré pour accéder à l'URL demandée.

Message d'erreur 401.2: Non autorisé: la connexion a échoué en raison de la configuration du serveur. Vérifiez que vous êtes autorisé à afficher ce répertoire ou cette page en fonction des informations d'identification que vous avez fournies et des méthodes d'authentification activées sur le serveur Web. Contactez l'administrateur du serveur Web pour une assistance supplémentaire.

97
Kris-I

Si vous utilisez Visual Studio, vous pouvez également cliquer avec le bouton gauche de la souris sur le projet dans Explorateur de solutions et modifier le Authentification Windows property en Activé dans la fenêtre Propriétés

103
Jason

La cause de ce problème était IIS Express qui n’autorisait pas Windows Authentification. Cela peut être activé en définissant

<windowsAuthentication enabled="true">

dans le fichier applicationhost.config situé dans C:\Utilisateurs [nom d'utilisateur]\Documents\IISExpress\config.

98
Ant Swift

J'ai utilisé la réponse de Jason, mais je voulais clarifier comment entrer dans les propriétés.

  1. Sélectionner un projet dans l'Explorateur de solutions

enter image description here

  1. F4 pour accéder aux propriétés (différentes des propriétés du clic droit)
  2. Remplacez l'authentification Windows par activé .

enter image description here

66
Tony L.

Hébergement sur IIS Express: 1. Cliquez sur votre projet dans l'Explorateur de solutions pour sélectionner le projet . 2. Si le volet Propriétés n'est pas ouvert, ouvrez-le (F4) . 3. Dans le volet Propriétés de votre projet: a) Réglez "Authentification anonyme" sur "Désactivé" . b) Définissez "Authentification Windows" sur "Activé".

17
Daniel

Dans mon cas, j'ai dû ouvrir le fichier:

C:\...\Documents\IISExpress\config\applicationhost.config

J'ai eu ceci dans le dossier:

  <authentication>
  <anonymousAuthentication enabled="true" User="" />

Je viens de supprimer la partie User="". Je ne sais vraiment pas comment cette chose est arrivée là-bas ... :)

Remarque: Assurez-vous d'avoir quelque chose comme ça à la fin de applicationhost.config:

   .
   .
   .
   <location path="MyCompany.MyProjectName.Web">
        <system.webServer>
            <security>
                <authentication>
                    <anonymousAuthentication enabled="true" />
                    <windowsAuthentication enabled="false" />
                </authentication>
            </security>
        </system.webServer>
    </location>
</configuration>

Vous voudrez peut-être aussi jeter un coup d’œil ici: https://stackoverflow.com/a/10041779/114029

Maintenant, je peux accéder à la page de connexion comme prévu.

12
Leniel Maccaferri

Dans mon cas, une exécution précédente de mon application de VS a réservé l'URL. Je pouvais le voir en exécutant une console:

netsh http show urlacl

pour supprimer cette réservation, je l'ai exécutée dans une console elevated:

netsh http delete urlacl http://127.0.0.1:10002/

J'ai trouvé ces étapes ici résolu mon problème.

J'utilise VS2013

8
BillDarcy

J'ai dû exécuter Visual Studio dans Administrative Mode pour supprimer cette erreur.

5
Serj Sagan

J'avais aussi le même problème et je pouvais enfin le surmonter.

Solution ExplorerRight click on projectPropertiesWeb tabProject Url

J'ai choisi un autre numéro port, et tout est devenu parfait!

3
Hi I'm Frogatto

Aucune de ces réponses n'avait fonctionné pour moi. Cela fonctionnait pour moi avant aujourd'hui. J'ai ensuite réalisé que je travaillais à la création d'une connexion hébergée sur mon ordinateur portable et à une connexion Internet partagée avec ma connexion réseau sans fil.

Pour résoudre mon problème:

Allez au Panneau de configuration> Réseau et Internet> Connexions réseau.

Faites un clic droit sur une connexion réseau sans fil secondaire que vous pouvez avoir (la mienne s'appelait Connexion réseau sans fil 2) et cliquez sur 'Propriétés'.

Allez à l'onglet 'Partage' en haut.

Décochez la case "Autoriser les autres utilisateurs du réseau à se connecter via la connexion Internet de cet ordinateur".

Appuyez sur OK> puis sur Appliquer.

J'espère que cela t'aides!

1
Ryan C

J'ai ouvert mon fichier web.config, et trouvé et supprimé cette section:

<authorization>
  <deny users="?" />
</authorization>

et mon site est venu, mais il y a des issues avec l'authentification ..

1
kfn

Notre page d'erreur se trouvait derrière la page de connexion, mais la page de connexion contenait une erreur dans l'un des contrôles, ce qui créait une boucle infinie.

Nous avons supprimé tous les contrôles de la page incriminée et les avons ajoutés un par un jusqu'à ce que le contrôle correct soit localisé et corrigé.

0
Atron Seige

J'ai eu du mal à résoudre ce problème en essayant de créer une application simple pour SharePoint à l'aide de fournisseur hébergé.

Après avoir examiné le fichier applicationhost.config, basicAuthentication a été défini sur false dans la section. Je l'ai changé en vrai pour aller au-delà de la 401.2 dans mon scénario. Il existe de nombreux autres liens permettant de rechercher le fichier applicationhost.config pour IIS Express.

0
kfrosty

Je viens de résoudre ce problème dans IIS EXPRESS en corrigeant l’édition de l’application Host .config dans la section emplacement spécifique à la section ci-dessous. J'avais défini l'authentification Windows dans Visual Studio 2012, mais lorsque je me suis tourné vers le XML, cela ressemblait à ceci. 

la balise windows auth devait être ajoutée ci-dessous, comme indiqué.

<windowsAuthentication enabled="true" />

<location path="MyApplicationbeingDebugged">
        ``<system.webServer>
            <security>
                <authentication>
                    <anonymousAuthentication enabled="false" />
                    <!-- INSERT TAG HERE --> 
                </authentication>
            </security>
        </system.webServer>
</location>
0
user3507561

Je n'ai vu cette réponse "complète" nulle part; Je viens de voir celui sur la modification des numéros de port après avoir posté ceci, alors meh.

Assurez-vous que dans les propriétés de votre projet dans Visual Studio, cette URL de projet n'est pas affectée à la même URL ou au même port que ceux utilisés dans IIS pour les liaisons de sites.

Je cherche le "pourquoi" pour cela, mais je suppose dès le départ que IIS et IIS express de Visual Studio utilisent le même répertoire lors de la création de répertoires virtuels et que Visual Studio peut crée uniquement de nouveaux répertoires virtuels et ne peut pas modifier ceux que IIS a créés lorsqu'il applique ses liaisons au site. 

n'hésitez pas à me corriger sur le pourquoi.

0
user1040975