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?

50
demandé sur Uwe Keim 2012-11-08 02:45:53

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.

  1. IIS Manager → Sites → site web
  2. double clic "authentification "
  3. , Sélectionnez L'Authentification Anonyme
  4. dans le panneau Actions, sélectionnez Edit
  5. sélectionner l'identité du bassin D'Application et cliquer sur ok

espérons que ce sauve quelqu'un d'autre peu de temps!

119
répondu ctc 2016-05-28 19:47:20

Si vous utilisez IIS 7 faire quelque chose comme ceci:

  1. Sélectionnez votre site.
  2. cliquez sur les pages d'erreur.
  3. Modifier les paramètres de fonctionnalité.
  4. sélectionnez erreurs détaillées.

de Profiter de.

22
répondu Suraj Shrestha 2016-05-28 19:28:38

assurez-vous que vous avez activé l'authentification anonyme sur iis comme ceci:

enter image description here

11
répondu testCoder 2012-11-08 07:19:52

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...

  1. ouvrez IIS et sélectionnez le site web qui est à l'origine de la 401
  2. ouvrir la propriété "Authentication" sous l'en-tête " IIS
  3. cliquez sur l'élément "authentification Windows" et cliquez sur "Fournisseurs
  4. 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é.

voici le lien où cela a été trouvé .

10
répondu Steve 2016-05-28 19:46:10

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.

7
répondu poorraj 2017-04-13 12:13:44

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>
1
répondu Vijay Vepakomma 2017-06-13 20:21:52

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>
1
répondu Chris Gong 2017-07-31 14:32:12

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.

0
répondu Jishnu 2015-08-31 09:31:58

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.

0
répondu Saftpresse99 2016-11-17 08:33:50

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.

0
répondu Rahul Nikate 2018-01-31 14:02:32