J'utilise l'attribut Authorize()
pour sécuriser mes contrôleurs/actions et je souhaite uniquement afficher l'action de connexion aux utilisateurs non authentifiés - ou en d'autres termes, refuser l'accès aux utilisateurs authentifiés.Attribut MVC Authorize deny
Je n'ai pas pu trouver quoi que ce soit sur le web traitant soit en refusant l'autorisation ou permettant des autorisations négatives (par exemple! LoggedIn)
Quelqu'un peut-il s'il vous plaît me pointer dans la bonne direction?
MVC2, .Net 4
EDIT: Pour clairfy, je veux quelque chose comme ceci:
Public Class PublicController
Inherits ControllerBase
<Authorize()> 'Only logged-in users can logout
Public Function Logout() as ActionResult
Return View()
End Function
'Something here to indicate that only NON-authorized users should see this action
Public Function Login() as ActionResult
Return View()
End Function
End Class
on ne sait pas quel est votre problème. Tout contrôleur/méthode d'action que vous décorez avec '[Authorize]' sera par défaut limité aux utilisateurs authentifiés. En d'autres termes, si vous n'êtes pas connecté, vous ne pourrez pas exécuter ces contrôleurs/actions. Quoi d'autre voulez-vous restreindre/autoriser? – RPM1984
Je devine juste ici, Basiclife; Voulez-vous dire que si quelqu'un est déjà connecté, mais pas dans un rôle approprié pour la version de Authorize() qui prend des rôles/noms d'utilisateur, vous voulez que quelque chose d'autre que ceux-ci soient dirigés vers la page de connexion? –
Si Andrew est correct, une recherche rapide dans google avec "autoriser mvc" donner quelque chose comme: http://davidhayden.com/blog/dave/archive/2009/04/09/CustomAuthorizationASPNETMVCFrameworkAuthorizeAttribute.aspx – xandy