如果操作有过滤器,如何取消控制器过滤器?

时间:2015-01-07 15:33:53

标签: c# model-view-controller attributes

我有一个自定义授权过滤器,它位于控制器和某些操作上。动作上的参数具有控制器过滤器不具有的参数。因此,我希望控制器过滤器仅应用于那些没有带参数的相同过滤器的过滤器。我尝试将它放在两个地方,但过滤器被调用两次

    [CustomAuthorize]
    public class Controller
    {

        public ActionResult Index()
        {
            return View();
        }
        [CustomAuthorize(param1 ="123")]
        public ActionResult Index2()
        {
            return View();
        }

在上面的代码段中,它调用customauthorize两次,没有参数,第二次调用参数。

如果行动已经具有惯例,我该如何阻止第一次惯例?

1 个答案:

答案 0 :(得分:0)

控制器上的属性的想法是将此应用于每个操作。 因此,不可能仅运行操作的属性。(如果您删除了类'那么)

In this SO answer很好地描述了何时使用它。