401 non autorisé: L'accès est refusé en raison de justificatifs d'identité invalides
j'utilise IIS Express pour déployer L'application MVC4. Ce site fonctionne parfaitement sur le même ordinateur. Mais en Lan, ça me donne l'erreur 401.
<authentication mode="Forms">
<forms loginUrl="~/" slidingExpiration="true" timeout="20">
</forms>
</authentication>
Dans la maison de contrôleur
[HttpPost]
[AllowAnonymous]
public ActionResult Index(LoginModel model, string returnUrl)
{
}
je démarre IIS server à partir de l'invite de commande en mode Administrateur. IIS répond à la demande par erreur 401
.
un indice?
10 réponses
je me rends compte que c'est un post plus ancien mais j'ai eu la même erreur sur IIS 8.5. J'espère que cela pourra aider un autre à vivre le même problème (je n'ai pas vu mon problème décrit dans d'autres questions avec un titre similaire).
tout semblait réglé correctement avec L'identité de L'Application Pool, mais j'ai continué à recevoir l'erreur. Après avoir beaucoup creusé, il y a un réglage pour l'utilisateur anonyme d'utiliser les justificatifs d'identité de la piscine d'application ou un utilisateur spécifique. Pour quelle que soit la raison, la mienne a été transmise à un utilisateur spécifique. Modifier le réglage de L'identité de L'application Pool a réglé le problème pour moi.
- IIS Manager → Sites → site web
- double clic "authentification "
- , Sélectionnez L'Authentification Anonyme
- dans le panneau Actions, sélectionnez Edit
- sélectionner l'identité du bassin D'Application et cliquer sur ok
espérons que ce sauve quelqu'un d'autre peu de temps!
Si vous utilisez IIS 7 faire quelque chose comme ceci:
- Sélectionnez votre site.
- cliquez sur les pages d'erreur.
- Modifier les paramètres de fonctionnalité.
- sélectionnez erreurs détaillées.
de Profiter de.
assurez-vous que vous avez activé l'authentification anonyme sur iis comme ceci:
dans le cas où quelqu'un est encore à la recherche de ceci, cela a résolu le problème pour nous:
pour quiconque ceci peut aider, cela m'a sauvé la vie...
IIS 7 était difficile de comprendre pourquoi j'obtenais la 401-non autorisé: L'accès est refusé en raison de justificatifs d'identité invalides... jusqu'à ce que je l'ai fait...
- ouvrez IIS et sélectionnez le site web qui est à l'origine de la 401
- ouvrir la propriété "Authentication" sous l'en-tête " IIS
- cliquez sur l'élément "authentification Windows" et cliquez sur "Fournisseurs
- pour moi, la question était que la négociation était au-dessus de NTLM. Je suppose qu'il y avait une sorte de poignée de main dans les coulisses, mais je n'ai jamais vraiment été authentifié. J'ai déplacé le NTLM au premier rang, et BAM qui l'a réparé.
je sais, c'est une vieille question, mais c'était dans mes recherches. Avait un problème similaire pour une application MVC récemment construit, déployé pour la première fois, et le mécanisme d'authentification n'a pas été complètement hashé.
ce n'était pas un réglage du système D'information de vol dans mon cas, c'était un contrôleur qui n'était pas [AllowAnonymous]
décoré. J'ai été en utilisant un Rendu.Action / Html.L'Action dans une Mise en page.cshtml et L'utilisateur n'était pas authentifié. Ainsi le Layout a essayé de charger une Action authentifiée dans un Contexte non authentifié.
une fois que j'ai mis à jour L'action pour AllowAnonymous, le problème a disparu, et c'est ce qui m'a conduit à cela .
J'espère que ça aidera quelqu'un.
j'ai eu un problème similaire aujourd'hui. Pour une raison quelconque, ma obtenir demande était très bien, mais PUT demande a échoué pour mon WCF WebHttp Service
ajouter ce qui suit sur le Web.config résolu le problème
<system.web>
<authentication mode="Forms" />
</system.web>
j'ai affronté cette erreur en créant un projet vide avec les dossiers MVC et en déployant l'application sur le serveur. Mon problème était que je n'avais pas défini l'authentification dans Web.config
, donc tout ce que j'avais à faire était d'ajouter cette ligne à une étiquette system.web
.
<system.web>
<authentication mode="None"/>
</system.web>
j'ai fait face à la même question.
le dossier a été partagé et la permission des utilisateurs authentifiés a été fournie, ce qui a résolu mon problème.
j'ai fait face à la même question sous IIS 8.5. Une solution de travail pour moi était de changer L'IIS pour afficher des erreurs détaillées. Voir la réponse de sna2stha. Mais je pense que ce n'est pas une bonne idée de transmettre des messages d'erreur détaillés aux navigateurs dans les environnements de production. J'ai ajouté/modifié l'attribut existingResponse dans la Section httpErrors, de sorte que L'attribut IIS n'est pas manipulé Asp.net réponse:
<httpErrors existingResponse="PassThrough" />
ça me va.
dans mon cas,
Mon application est développée dans MVC
et ma classe de contrôleur à domicile a été décorée avec [Authorize]
qui causait ce problème.
Donc je l'ai enlevé parce que mon application n'a pas besoin d'authentification.