url de connexion par défaut sur HttpUnauthorizedResult dans asp.net mvc
J'ai écrit une coutume AuthorizeAttribute
qui a la condition suivante dans asp.net mvc3 application:
public override void OnAuthorization(AuthorizationContext filterContext)
{
//auth failed, redirect to Sign In
if (!filterContext.HttpContext.User.Identity.IsAuthenticated)
{
filterContext.Result = new HttpUnauthorizedResult();
}
}
Et dans mon web.config, j'ai:
<authentication mode="Forms">
<forms loginUrl="~/User/SignIn" timeout="2880" />
</authentication>
Sur l'échec de l'authentification, il redirige vers "/account/Login" page par défaut.
Comment puis-je modifier cette valeur par défaut de redirection d'url et de le rediriger vers "/User/SignIn"?
La capture d'écran montre une vue claire de ce que je suis en train de dire..
Si j'ai mis '/Utilisateur/SignIn', il redirige vers '/Compte/Login'
êtes-vous à l'aide de MVC3?
Oui. Je suis à l'aide de MVC3.
J'ai eu la solution après une lutte. J'ai ajouté WebMatrix.WebData référence à récemment, ce qui semble être le vrai coupable de cette question. Cela peut être manipulé par l'ajout de la clé de votre fichier de configuration: <add key="loginUrl" value="~/Utilisateur/SignIn" />
Oui. Je suis à l'aide de MVC3.
J'ai eu la solution après une lutte. J'ai ajouté WebMatrix.WebData référence à récemment, ce qui semble être le vrai coupable de cette question. Cela peut être manipulé par l'ajout de la clé de votre fichier de configuration: <add key="loginUrl" value="~/Utilisateur/SignIn" />
OriginalL'auteur Prasad | 2011-05-16
Vous devez vous connecter pour publier un commentaire.
Je ne suis pas sûr de savoir si je peux ajouter cela comme une réponse. Mais cela peut aider d'autres personnes qui ont eu cette question.
J'ai eu la solution après une lutte. J'ai ajouté WebMatrix.WebData référence à récemment, ce qui semble être le vrai coupable de cette question. Cela peut être manipulé par l'ajout de la clé de votre fichier de configuration:
Je pense que nous avons l'habitude d'ajouter les touches comme ci-dessus à la section appSettings 🙂
J'ai déjà passé quelques heures sur ce... Merci beaucoup pour l'affichage ici et sauver le reste de ma journée!
OriginalL'auteur Prasad
Vous devriez être en modifiant la racine pour loginUrl.
j'ai créé AuthorizationAttribute... c'est de rediriger correctement
par exemple,
et mon attribut est:
et d'appliquer l'attribut de toute méthode de votre contrôleur nécessaire...
C'est étrange, depuis que j'ai interprété POC sur ce seulement maintenant à vérifier, et il fonctionne comme prévu rediriger à l'Action spécifiée dans le web.conf (racine)...
Pouvez-vous poster le Client Autorise Attribut de code pour vérifier si il me manque quelque chose?
j'ai updaed ma réponse et affiché le code pour vous mais c'est exactement la même que celle de votre Attribut... pas de magie...
Le code est le même, mais je ne sais pas quel est le problème avec mon application. Je suis à l'aide de Framework 4.0, MVC 3..
OriginalL'auteur Usman Masood
J'ai récemment eu ce problème et a trouvé que c'était parce que j'avais l'WebMatrix.dll référencé dans mon projet.
Retrait de cette DLL correction du problème
voir ici
Qu'est-ce que le PreserveLoginUrl appSetting clé/valeur dans un ASP.NET application MVC?
OriginalL'auteur Keeno