ASP.NET - Redirection vers une Page d'Erreur si les Rôles Autorisation Échoue
Je suis en utilisant MVC 3 avec l'Authentification par Formulaires. Sur mon contrôleur ou de méthodes, je suis en train de faire les suivants:
[Authorize (Roles = "developer")]
Dans cette situation, je veux vérifier si l'utilisateur est connecté, et si non, retour à la page de connexion. Cependant, si la "IsInRole" vérifier que l'utilisateur retourne faux, je veux aller à un point de vue différent qui dit quelque chose comme "Non autorisé'.
Quelle est la meilleure façon d'accomplir quelque chose de ce genre? J'ai été dans l'espoir d'éviter la création d'une nouvelle Autorisation d'attribut, donc je n'ai pas eu à refactoriser chaque Autoriser attribut dans l'ensemble de mon application, mais si c'est ce qui est nécessaire, je vais aller dans cette voie.
Vous devez vous connecter pour publier un commentaire.
Personnalisé autoriser attribut primordial de la HandleUnauthorizedRequest méthode pourrait faire le travail:
et puis:
Vous pouvez également le faire avec une page d'erreur personnalisée pour 401 codes d'état.
Voir cette question pour les détails de mise en œuvre.
Vous pouvez l'utiliser comme ça.Parce que si vous n'avez pas l'autorité, il s'agit de la méthode.
Autorisation de contrôle n'est pas nécessaire