J'ai vérifié de nombreux messages sur cette erreur, mais je n'ai pas encore pu résoudre le problème.
J'ai simple site MVC5 construit dans VS2013 fonctionnant sur Windows 8 pro. Lorsque le site a été créé, l'option pour des comptes individuels a été sélectionnée. Je dois maintenant activer l'authentification Windows afin que seuls les utilisateurs de comptes AD puissent utiliser le site Web, ainsi qu'une autorisation, de sorte que je puisse limiter l'accès à certains affichages/contrôleurs à des groupes AD particuliers.
Après avoir sélectionné le projet Web dans VS, j'ai mis à jour la fenêtre de propriétés (F4) de sorte que l'authentification anonyme soit définie sur Désactivée et que l'authentification Windows soit définie sur Activé.
Le fichier web.config du projet contient maintenant les sections suivantes:
<system.web>
<authentication mode="Windows" />
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
<authorization>
<deny users="?" />
</authorization>
</system.web>
<system.webServer>
<modules>
<remove name="FormsAuthenticationModule" />
</modules>
</system.webServer>
J'accède au site depuis IIS ou F5. Le message d'erreur suivant s'affiche: Erreur HTTP 404.15 - Introuvable Le module de filtrage des demandes est configuré pour refuser une demande pour laquelle la chaîne de requête est trop longue. Je remarque que quelque chose a bouclé pour donner à ReturnUrl qui est une longue concaténation répétée dans la chaîne de requête.
Dans la section IIS\Authentication, j'ai défini sur "Désactivation de l'authentification anonyme, de l'emprunt d'identité ASP.Net et de l'authentification par formulaire". Dans la section Règles d'autorisation IIS.Net que j'ai définies pour Refuser "Utilisateurs anonymes" et Autoriser "Tous les utilisateurs"
Où vais-je mal?
La seule fois où je me suis personnellement heurté à ce problème, c’est quand j’ai accidentellement ajouté [Authorize]
à une action enfant utilisée dans la présentation. Ajouter [Authorize]
à votre action de connexion aurait le même effet ou simplement négliger d’ajouter [AllowAnonymous]
à votre action de connexion, lorsque le contrôleur dans lequel il se trouve a [Authorize]
. En bref, cela est causé par quelque chose nécessitant une autorisation sur la page de connexion, ce qui vous redirige ensuite vers la page de connexion, ce qui nécessite une autorisation, vous redirige vers la page de connexion, etc.
tl; dr
[Authorize]
.[AllowAnonymous]
.[Authorize]
ou [AllowAnonymous]
si elle se trouve dans un contrôleur orné de [Authorize]
.J'ai eu cette erreur quand j'ai activé l'authentification Windows. Je voulais autoriser l'utilisateur en fonction de la connexion Windows et je ne veux pas de page de connexion dans mon application.
J'ai corrigé l'erreur en ajoutant ce qui suit dans mon fichier de configuration Web.
Sous la balise system.web
, changé l'authentification mode="None"
en authentification mode="Windows"
Sous balise appSettings
, ajouté add key="owin:AutomaticAppStartup" value="false"
Vous pouvez avoir une fonction au démarrage qui vous redirige vers la page de connexion. Vous devez le désactiver . J'ai créé le projet par la méthode d'authentification par défaut qui crée un contrôleur de compte et ses dépendants. Maintenant, lorsque j'ai changé la méthode d'authentification en mode Windows, l'erreur mentionnée a été soulevée. Maintenant, la seule chose que j'ai faite est de commenter la fonction ConfigureAuth (app) dans le fichier startup.cs.
J'ai eu le même problème..
Vérifiez sous Propriétés du projet ..
Anonymous Authentication=False
Windwos Authentication=True