2010-03-23 3 views
2

MVC.NET gère-t-il les rôles à l'aide de cookies ou un contrôleur vérifie-t-il le fournisseur de rôles à chaque requête? Considérez ce code:MVC.NET gère-t-il les rôles via les cookies?

[Authorize(Roles="CommentsModerator, SiteAdministrator")] 
public ViewResult ApproveComment(int commentId) { 
    // Implement me 
} 

Les rôles défini comme un cookie lors d'un premier utilisateur sur beaucoup, ou sera l'attribut Authorize vérifier avec le fournisseur de rôle pour chaque appel à cette action?

Si elle utilise des cookies, ce sera rapide. Cependant, il serait difficile de gérer le cas où un utilisateur est supprimé d'un rôle à moins de se déconnecter pour supprimer le cookie.

+0

Je ne connais pas la réponse, mais ce serait un risque de sécurité important si la valeur du cookie de l'utilisateur a été aveuglément confiance. À moins d'être au moins cryptographiquement signés ou vérifiés, ils pourraient simplement le modifier côté client. –

+0

Matthew F: Oui, bien sûr, le cookie devrait être crypté. C'est ce que fait actuellement ASP.NET avec FormsAuthentication. – royco

Répondre