全局过滤,在Startup中ConfigureServices里面添加如下代码

  services.AddMvc(options =>
                {
                    options.Filters.Add(typeof(MyActionFilterAttribute));
                }).SetCompatibilityVersion(CompatibilityVersion.Version_2_1);

MyActionFilterAttribute的实现

public class MyActionFilterAttribute : ActionFilterAttribute
    {



        public override void OnActionExecuting(ActionExecutingContext context)
        {

            var controllerActionDescriptor = context.ActionDescriptor as ControllerActionDescriptor;
            if (controllerActionDescriptor != null)
            {
              
                var isDefined = controllerActionDescriptor.ControllerTypeInfo.GetCustomAttributes(inherit: true)
                    .Any(a => a.GetType().Equals(typeof(NoActionFilterAttribute)));

                if (!isDefined)
                {
                  //业务逻辑
                    base.OnActionExecuting(context);
                }
            }

        

        }
    }

NoActionFilterAttribute

    public class NoActionFilterAttribute : Attribute
    {
    }

在不需要验证的Controller上打上NoActionFilter特性即可

   [NoActionFilter]
    public class TestController : Controller
    {
    
    }

相关文章:

  • 2021-07-31
  • 2021-08-18
  • 2021-08-13
  • 2021-11-29
  • 2022-12-23
  • 2022-12-23
  • 2021-10-11
  • 2022-01-23
猜你喜欢
  • 2022-02-15
  • 2021-09-10
  • 2022-01-01
  • 2022-01-08
  • 2021-04-25
  • 2022-01-11
  • 2021-07-16
相关资源
相似解决方案