2008-12-01 4 views

Répondre

53

Utilisez l'attribut Autorisez

[Authorize] 
public ActionResult MyAction() 
{ 
    //stuff 
} 

Vous pouvez également l'utiliser sur le contrôleur. Peut transmettre des utilisateurs ou des rôles aussi.

Si vous voulez quelque chose avec un peu plus de contrôle, vous pouvez essayer quelque chose comme this.

public class CustomAuthorizeAttribute : AuthorizeAttribute 
    { 
     protected override bool AuthorizeCore(HttpContextBase httpContext) 
     { 
      string[] users = Users.Split(','); 

      if (!httpContext.User.Identity.IsAuthenticated) 
       return false; 

      if (users.Length > 0 && 
       !users.Contains(httpContext.User.Identity.Name, 
        StringComparer.OrdinalIgnoreCase)) 
       return false; 

      return true; 
     } 
    } 
4

Il existe une fonctionnalité d'autorisation avec MVC, utilisant ASP.NET MVC bêta et créant le projet MVC à partir de Visual Studio, ajoute automatiquement un contrôleur qui a utilisé l'autorisation. Une chose qui va aider avec votre recherche google, c'est que c'est un "filtre". Donc, essayez de chercher sur "Authorization Filter MVC" et tout aperçu 4 ou plus vous aidera.

+0

Ah, je recherche juste « ASP.NET » « MVC » Autorisation et pas vraiment trouver beaucoup, merci de me laisser savoir à la recherche de filtres. Un autre problème que j'ai lors de la recherche d'aide MVC est que je trouve des choses pour la version précédente de l'aperçu qui ne sont pas marqués comme "Preview 2" etc! – Tablet

+0

J'ai le même problème à propos du fait que certains messages MVC ne sont pas marqués. Je vérifie habituellement la date sur le poste, rien de plus il y a quelques mois, je considère comme suspect. Je vais faire un plongeon profond dans MVC et bloguer à ce sujet. Avez-vous des demandes? – MrJavaGuy

+0

Oui, bien sûr, ce serait génial si vous essayiez de compléter une solution en utilisant jQuery pour des soumissions de formulaires ajax et des mises à jour au lieu d'une publication standard sur un contrôleur et en retournant une vue! N'hésitez pas à poster un lien vers votre blog! – Tablet