In MVC 5, you can do something like this inside an IActionFilter
, to check if an attribute has been declared on the the current action (or at controller scope)
public void OnActionExecuting(ActionExecutingContext filterContext)
{
// Stolen from System.Web.Mvc.AuthorizeAttribute
var isAttributeDefined = filterContext.ActionDescriptor.IsDefined(typeof(CustomAttribute), true) ||
filterContext.ActionDescriptor.ControllerDescriptor.IsDefined(typeof(CustomAttribute), true);
}
So if your controller defines the attribute like so, this works.
[CustomAttribute]
public ActionResult Everything()
{ .. }
Is it possible to do the same in ASP.NET Core MVC (inside an IActionFiler
)?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…