Dans les applications ASP .Net MVC, les filtres peuvent être appliqués à trois niveaux.
Les filtres appliqués au niveau de la méthode d'action ne s'appliquent qu'à ce niveau méthode d’action.
using System.Web.Mvc; namespace DemoMvcApplication.Controllers{ public class HomeController : Controller{ [Authorize] //Action Method Level public string Index(){ return "Index Invoked"; } } }
Les filtres au niveau du contrôleur sont appliqués à toutes les méthodes d'action. Les filtres suivants sont S'applique à toutes les méthodes d'action de HomeController mais pas aux autres contrôleur.
using System.Web.Mvc; namespace DemoMvcApplication.Controllers{ [Authorize] //Controller Level public class HomeController : Controller{ public string Index1(){ return "Index1 Invoked"; } public string Index2(){ return "Index2 Invoked"; } } }
Des filtres de niveau global sont fournis dans l'événement Application_Start de global.asax.cs Créez le fichier à l'aide de la méthode FilterConfig.RegisterGlobalFilters() par défaut. filtre global Sera appliqué à tous les contrôleurs et méthodes d’action de l’application.
public class MvcApplication : System.Web.HttpApplication{ protected void Application_Start(){ AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); } } public class FilterConfig{ public static void RegisterGlobalFilters(GlobalFilterCollection filters){ filters.Add(new HandleErrorAttribute()); filters.Add(new AuthorizeAttribute()); } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!