我有一个自定义授权过滤器,该过滤器位于控制器和某些操作上。操作上的参数具有控制器筛选器没有的参数。 因此,我希望控制器过滤器仅适用于没有相同参数过滤器的过滤器。 我尝试将其放在两个地方,但过滤器被调用了两次
[CustomAuthorize]
public class Controller
{
public ActionResult Index()
{
return View();
}
[CustomAuthorize(param1 ="123")]
public ActionResult Index2()
{
return View();
}
在上面的代码片段中,它调用自定义授权两次,一次没有参数,第二次没有参数。
如果操作已经具有自定义授权,如何防止第一个自定义授权?
控制器上属性的想法是将其应用于每个操作。 因此,不可能仅运行操作的属性。 (如果你删除类的)
在这个SO答案中,很好地描述了何时使用它。