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 文件