Il est possible d'étendre simplement les actions et données renvoyées lors d'un appel vers un controller. Pour se faire, il suffit d'implémenter le comportement que l'on souhaite ajouter et de tag la méthode avec l'attribut.
  • Implémentation de la classe qui ajoutera le comportement
  • public class FiltrageAttribute : ActionFilterAttribute
    {
    public override void OnActionExecuting(
    ActionExecutingContext filterContext)
    {}
    public override void OnActionExecuted(
    ActionExecutedContext filterContext)
    {}
    public override void OnResultExecuted(
    ResultExecutedContext filterContext)
    {}
    public override void OnResultExecuting(
    ResultExecutingContext filterContext)
    {}
    }
  • Tag sur la méthode
  • public class HomeController : Controller
    {
    [FiltrageAttribute]
    public ActionResult Index()
    { return new View(); }
    }
En quelques minutes, il est possible d'ajouter un mécanisme d'authentification unifié sur une application ASP.NET MVC ou de réduire le droit d'accès sur une méthode en fonction d'un rôle utilisateur.