您现在的位置是:网站首页> 编程资料编程资料
.NET6自定义WebAPI过滤器_实用技巧_
2023-05-24
241人已围观
简介 .NET6自定义WebAPI过滤器_实用技巧_
1、上代码
////// API白名单过滤器 /// public class APIFilter : ActionFilterAttribute { ////// 控制器中加了该属性的方法中代码执行之前该方法。 /// 所以可以用做权限校验。 /// /// public override void OnActionExecuting(ActionExecutingContext context) { var vistorIp = context.HttpContext.Connection.RemoteIpAddress.ToString_(); var whiteIp = AppsettingHelper.Get("WhiteIP"); if (!string.IsNullOrEmpty(whiteIp)) { ListwhiteIpList = whiteIp.Split(',').ToList(); if (!whiteIpList.Contains("*") && !whiteIpList.Contains(vistorIp)) { context.HttpContext.Response.StatusCode = 401; context.Result = new JsonResult(new { code = 401, msg = "非法IP" }); } } base.OnActionExecuting(context); } /// /// 控制器中加了该属性的方法执行完成后才会来执行该方法。 /// /// public override void OnActionExecuted(ActionExecutedContext context) { base.OnActionExecuted(context); } ////// 控制器中加了该属性的方法执行完成后才会来执行该方法。比OnActionExecuted()方法还晚执行。 /// /// /// ///public override Task OnResultExecutionAsync(ResultExecutingContext context, ResultExecutionDelegate next) { return base.OnResultExecutionAsync(context, next); } }
2、使用
[Route("api/[controller]/[action]")] [ApiController] [APIFilter] public class YangController : BaseController到此这篇关于.NET6自定义WebAPI过滤器的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持。
您可能感兴趣的文章:
相关内容
- .NET6导入和导出EXCEL_实用技巧_
- .Net 6中WebApplicationBuilder介绍和用法_自学过程_
- .Net 6简介并和之前版本写法做对比_基础应用_
- ASP.NET Core开发Docker部署_基础应用_
- ASP.NET Core在Linux下为dotnet创建守护进程_基础应用_
- 在Linux+Jexus中发布和部署Asp.Net Core_自学过程_
- 使用.NET 6开发TodoList应用之引入数据存储的思路详解_实用技巧_
- 在MacOS+Linux+Nginx中发布和部署Asp.Net Core_自学过程_
- 使用.NET 6开发TodoList应用之领域实体创建原理和思路_实用技巧_
- .Net Core SDK命令介绍及使用_自学过程_
