我有一堆控制器在类级作用域中具有[AllowAnonymous]属性。在执行此类控制器中的任何操作之前,我需要检查一些事情。例如,我可能会这样做:
[AllowAnonymous]
public class MyController : Controller
{
[HttpGet]
public ActionResult Index()
{
// do some preliminary work
// run action-specific code
}
}
因为我有很多这样的控制器和动作,所以复制粘贴相同的代码是一个繁琐的过程。有没有办法以更简单的方式为每个匿名操作执行此初步代码?
答案 0 :(得分:5)
您可以创建自己的动作过滤器。
创建一个继承ActionFilterAttribute
并覆盖OnActionExecuting
的类
将该属性应用于控制器或操作,它将在对该控制器或操作的每个请求之前运行。