最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

.NET6自定義WebAPI過(guò)濾器

 更新時(shí)間:2021年12月24日 08:47:11   作者:PrintY  
這篇文章介紹了.NET6自定義WebAPI過(guò)濾器的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

1、上代碼

/// <summary>
    /// API白名單過(guò)濾器
    /// </summary>
    public class APIFilter : ActionFilterAttribute
    {
        /// <summary>
        /// 控制器中加了該屬性的方法中代碼執(zhí)行之前該方法。
        /// 所以可以用做權(quán)限校驗(yàn)。
        /// </summary>
        /// <param name="context"></param>
        public override void OnActionExecuting(ActionExecutingContext context)
        {
            var vistorIp = context.HttpContext.Connection.RemoteIpAddress.ToString_();
            var whiteIp = AppsettingHelper.Get("WhiteIP");
            if (!string.IsNullOrEmpty(whiteIp))
            {
                List<string> whiteIpList = 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);
        }
        /// <summary>
        /// 控制器中加了該屬性的方法執(zhí)行完成后才會(huì)來(lái)執(zhí)行該方法。
        /// </summary>
        /// <param name="context"></param>
        public override void OnActionExecuted(ActionExecutedContext context)
        {
            base.OnActionExecuted(context);
        }
        /// <summary>
        /// 控制器中加了該屬性的方法執(zhí)行完成后才會(huì)來(lái)執(zhí)行該方法。比OnActionExecuted()方法還晚執(zhí)行。
        /// </summary>
        /// <param name="context"></param>
        /// <param name="next"></param>
        /// <returns></returns>
        public override Task OnResultExecutionAsync(ResultExecutingContext context, ResultExecutionDelegate next)
        {
            return base.OnResultExecutionAsync(context, next);
        }
    }

2、使用

    [Route("api/[controller]/[action]")]
    [ApiController]
    [APIFilter]
    public class YangController : BaseController

到此這篇關(guān)于.NET6自定義WebAPI過(guò)濾器的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

内黄县| 河池市| 西充县| 房山区| 柞水县| 于都县| 登封市| 漯河市| 昌吉市| 马尔康县| 昆明市| 凉山| 桦川县| 西青区| 芦溪县| 平潭县| 巨野县| 柘荣县| 娄烦县| 呼图壁县| 姜堰市| 微博| 大足县| 承德市| 德昌县| 辽源市| 徐州市| 城口县| 桂平市| 扬州市| 嘉善县| 高安市| 永平县| 静乐县| 绥中县| 尤溪县| 绥宁县| 哈巴河县| 阳江市| 辽源市| 定南县|