web-dev-qa-db-fra.com

ASP.NET MVC3 et Windows Auth sur IIS continue de rediriger vers / Account / Login

J'utilise MVC3 et une application Web Windows Auth. Lorsque je déploie vers IIS6, il fonctionne parfaitement jusqu'à ce que j'atteigne une page qui nécessite une authentification. Il est ensuite redirigé automatiquement vers/Account/Login lorsque je n'ai aucune trace de cela dans mon application et que mon web.config est configuré pour l'authentification Windows.

Des idées?

Voici mon fichier web.config entier: http://pastie.org/156851

57
Kevin Jensen

Vérifiez si WebMatrix.Data.dll et/ou WebMatrix.WebData.dll déployé dans le répertoire bin de votre application. S'ils sont là (et que vous savez que vous ne les utilisez pas), essayez de les supprimer et d'accéder à une page qui nécessite une authentification.

147
Liam

Dans RTM essayez d'ajouter à <appSettings> dans Web.config:

<add key="enableSimpleMembership" value="false" />

(Thx à problème utilisant exclusivement l'authentification Windows dans ASP.NET MVC 3 Beta .)

28
TN.

Je ne sais pas si vous avez toujours le problème ou non, mais essayez d'ajouter

<add key="autoFormsAuthentication" value="false" />

à votre web.config sous appSettings. Selon ici et ici , cela devrait résoudre votre problème.

14
Dan Gardiner

Essayez de remplacer WebMatrix.dll par défaut pour l'URL de connexion en l'ajoutant à vos appSettings (web.config):

<add key="loginUrl" value="~/Account/LogOn"/>

WebMatrix.dll a défini l'URL de connexion sur/Account/Login, si cette clé n'est pas définie dans le fichier de configuration ... Cela fonctionne pour moi.

9
WebMad

Dans RTM essayez d'ajouter à dans Web.config:

<add key="enableSimpleMembership" value="false" />

Le post ci-dessus fonctionne. +1 Ajoutez cette clé avant ajout de dépendances déployables.

3
Jeffrey Cho

J'ai eu le même problème dans mon projet MVC4, seul mon projet a l'authentification anonyme désactivée, donc l'authentification Windows est toujours requise.

Je n'ai pas WebMatrix. * Dans mon dossier bin, et l'ajout des clés autoFormsAuthentication et enableSimpleMembership à appSettings ne l'a pas fait pour moi.

Au lieu de cela, j'ai dû commenter ce qui suit:

<authentication mode="Forms">
    <forms loginUrl="~/Account/Login" timeout="2880" />
</authentication>

Et remplacez-le par ceci:

<authentication mode="Windows" />

Cela a fait l'affaire.

3
Ber'Zophus

Assurez-vous que tous les paramètres d'authentification dans IIS sont corrects.

Pour moi, l'application qui a redirigé vers/Account/Login s'exécutait au sein d'un site sur lequel l'authentification anonyme était activée. Après avoir désactivé cela sur le site et l'avoir activé pour l'application (avec l'authentification Windows), tout allait bien.

1
sourcx

Une autre façon de remplacer le "problème de redirection d'URL login.aspx avec MVC + IIS 7" ... en l'ajoutant à vos appSettings (web.config):

<authentication mode="Forms">
<!--<forms loginUrl="~/Account/Login" timeout="2880" />-->
<forms loginUrl="~/Home" timeout="2880" />
</authentication>

... Cela a résolu le problème pour moi

1
davegeekgoliath

Je l'ai réparé de cette façon
1) Allez sur IIS
2) Sélectionnez votre projet
3) Cliquez sur "Authentification"
4) Cliquez sur "Authentification anonyme"> Modifier> sélectionnez "Identité du pool d'applications" au lieu de "Utilisateur spécifique".
5) Terminé.

1
Akiv

Je sais que c'est un super vieux post. Mais je viens de traverser cela après avoir traversé un tutoriel sur la mise à niveau de MVC 4 vers MVC 5. Donc, je le lance juste au cas où quelqu'un d'autre commettrait l'erreur que j'ai faite. Mon problème a finalement été que j'ai accidentellement ajouté "Microsoft.AspNet.WebPages.WebData" à mon projet lors de la mise à niveau de mes références.

L'exécution de "Uninstall-Package Microsoft.AspNet.WebPages.WebData" a restauré mon authentification à sa gloire précédente.

0
Caffeinius

Dans MVC pour le Framework 4.6, cela se fait de 2 manières, la première est dans le Web.Config comme vous vous en doutez, la seconde se fait dans le fichier de projet et est utilisée pour configurer IIS Express :

<PropertyGroup>
..
    <IISExpressAnonymousAuthentication>enabled</IISExpressAnonymousAuthentication>
    <IISExpressWindowsAuthentication>disabled</IISExpressWindowsAuthentication>
</Property

Désactivera l'authentification Windows et utilisera l'anonymat lors du développement mais n'est pas utilisé pour le déploiement de l'application.

0
Steef

Vous pouvez également accéder à IIS sur le serveur et passer en modes d'authentification et désactiver les authentifications de formulaires.

Cela me fait me gratter la tête dans une démo. Embarrassant.

0
Tash Wahid