Filter attribute in mvc

 

In ASP.NET Core MVC, filters (like ActionFilterAttribute) let you run logic before or after controller actions. They're great for cross-cutting concerns like logging, authentication, or validation.

 

In-Build Filters

  • Authorization Filter
    • Interface/Base Class - IAuthorizationFilter
    • Run: Before everything
  • Resource Filter
    • Interface/Base Class - IResourceFilter
    • Run: Before model binding
  • Action Filter
    • Interface/Base Class - IActionFilter / ActionFilterAttribute
    • Run: Before/after action executes
  • Exception Filter
    • Interface/Base Class - IExceptionFilter
    • Run: On unhandled exceptions
  • Result Filter
    • Interface/Base Class - IResultFilter
    • Run: Before/after action result runs

 

 

 

Create a Custom Filter Attribute

 

 

Apply the Filter

  • Option A: Apply to a Controller or Action
  • Option B: Register Globally (applies to all controllers/actions)
  • Register the Filter in DI
  • Directly without using DI

 

 

 

 

 


Related Question