J'ai créé une application ASP.NET MVC et utilisé l'authentification par formulaires. Dans mon action du contrôleur je:Pourquoi mon application ASP.NET MVC demande-t-elle l'authentification Windows?
[Authorize (Utilisateurs = "me, Joe")]
qui a travaillé beaucoup. La nuit dernière, lorsque j'ai publié les dernières modifications et tenté d'afficher mon site Web, j'ai commencé à ouvrir une boîte de dialogue Authentification Windows. J'ai regardé tout mon code et je n'arrive pas à comprendre pourquoi cela changerait pour l'authentification Windows. Mon fichier web.config n'a pas changé depuis au moins 10 jours. Si je cours le code de ma boîte de dev il ne fait pas ceci ... seulement quand il est exécuté de mon hôte. Et si je supprime la ligne Autoriser de mon action de contrôleur, cela n'arrivera pas.
Comment puis-je résoudre ce problème ou comment puis-je déboguer ma solution pour voir pourquoi cela se produit?
BTW, mon web.config dit:
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>
Il s'agit d'une solution hébergée, donc serait-ce quelque part dans le panneau de contrôle basé sur le Web de mes hôtes? Pourquoi cela changerait-il et plus important encore pourquoi cela cesserait-il de fonctionner si je supprimais la ligne Autoriser de mon code? – Whozumommy
Si vous prenez l'attribut Autoriser, l'accès anonyme est autorisé, donc pas d'invite d'autorisation. Je soupçonne qu'il s'est passé quelque chose pour réinitialiser les paramètres d'autorisation afin de permettre l'authentification Windows. Si ceux-ci ont été configurés pour hériter du parent et que les paramètres parents ont été modifiés, cela l'expliquerait. – tvanfosson
Mais comment puis-je définir ou tester ceci sur un environnement hébergé? Le panneau de contrôle de mes hôtes (HELM) ne semble pas inclure un moyen de définir les propriétés d'un dossier. – Whozumommy