C# 添加接口筛选器

1.创建一个mvc

 

2.在App_Start文件夹中 找到WebApiConfig文件,没有就手动添加一个

 

 

 

3.在Global.asax文件中注册一下

 

 public class MvcApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {
            GlobalConfiguration.Configure(WebApiConfig.Register);
        }
    }
}

 

4.手动添加一个文件AuthFilterAttribute

 

 

 

5.编写AuthFilterAttribute文件中内容编写方法    必须得继承: AuthorizationFilterAttribute

public class AuthFilterAttribute : AuthorizationFilterAttribute
{
public override void OnAuthorization(HttpActionContext actionContext)
{
//如果Action带有AllowAnonymousAttribute,则不进行授权验证
if (actionContext.ActionDescriptor.GetCustomAttributes<AllowAnonymousAttribute>().Any())
{
return;
}
else
{
//此处写自己的逻辑
}
}
}

 

 

 

 

 6.在WebApiConfig文件中注册全局Filter

 

 public static void Register(HttpConfiguration config)
        {
            config.MapHttpAttributeRoutes();
            //注册全局Filter
            config.Filters.Add(new AuthFilterAttribute());

            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );
        }

 

 

做完以上不走,就可以完成全局接口筛选器了,如果不想让接口过滤   在接口方法标题处添加 [AllowAnonymous]   就可以跳过筛选,

以后别人调取你的接口时就可以自由替换名称了    

名称规则    [Route("api/aa/a")]

 

以下是示例图片

 

App_Start文件夹

 

 

 

Global.asax 文件

 

 

 

 

WebApiConfig 文件

 

 

 

 

 

AuthFilterAttribute 文件

 

 

posted on 2021-01-08 18:04  透明的鱼!  阅读(295)  评论(0编辑  收藏  举报

导航