范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

ASP。NETCore使用功能开关控制路由访问(续)

  前言
  在前面的文章,我们介绍了使用功能开关控制路由访问。
  但其实我们使用了2个条件做的判断:   var isDebugEndpoint = context.Request.Path.Value.Contains("/test"); var debugEndpoint = await _featureManager.IsEnabledAsync("ForbiddenDebugEndpoint"); if (isDebugEndpoint && debugEndpoint)
  如果仅用功能开关来控制:   var debugEndpoint = await _featureManager.IsEnabledAsync("ForbiddenDebugEndpoint"); if (debugEndpoint)
  这样是不是更符合功能开关的含义呢!   IFeatureFilter介绍
  IFeatureFilter(功能过滤器)可用于确定是否满足某些条件以启用一项功能。
  功能过滤器可以自由使用任何可用的标准,例如流程状态或请求内容。
  可以为给定功能注册功能过滤器,如果任何特征过滤器评估为真,该特征将被考虑启用。
  在本文,我们可以判断当前路由地址是否为调试地址,让评估返回真。   实现
  自定义功能过滤器实现代码如下:   public class DebugFeatureSettings {     public string[] DebugEndpoints { get; set; } } [FilterAlias("DebugFeatureFilter")] public class DebugFeatureFilter : IFeatureFilter {     private readonly IHttpContextAccessor _httpContextAccessor;     public DebugFeatureFilter(IHttpContextAccessor httpContextAccessor)     {         _httpContextAccessor = httpContextAccessor;     }     public Task EvaluateAsync(FeatureFilterEvaluationContext context)     {         var settings = context.Parameters.Get();         foreach (var endPoint in settings.DebugEndpoints)         {             var isDebugEndpoint = _httpContextAccessor.HttpContext.Request.Path.Value.Contains(endPoint);             return Task.FromResult(isDebugEndpoint);         }         return Task.FromResult(false);     } }
  我们注入了 IHttpContextAccessor ,用于获取当前请求上下文,然后判断当前路由地址是否包含DebugEndpoints 配置的值。  使用
  修改我们上次实现的 DebugMiddleware :  public class DebugMiddleware : IMiddleware {     private readonly IFeatureManager _featureManager;     public DebugMiddleware(IFeatureManager featureManager)     {         _featureManager = featureManager;     }     public async Task InvokeAsync(HttpContext context, RequestDelegate next)     {         var debugEndpoint = await _featureManager.IsEnabledAsync("ForbiddenDebugEndpoint");         if (debugEndpoint)         {             context.SetEndpoint(new Endpoint((context) =>             {                 context.Response.StatusCode = StatusCodes.Status403Forbidden;                 return Task.CompletedTask;             },                         EndpointMetadataCollection.Empty,                         "无权访问"));         }         await next(context);                  } }
  然后将配置修改为如下形式:   "FeatureManagement": {     "ForbiddenDebugEndpoint": {         "EnabledFor": [         {             "Name": "DebugFeatureFilter",             "Parameters": {                 "DebugEndpoints": [ "/test" ]             }         }         ]     } } 结论
  运行后我们发现,只有符合功能开关设置的路由地址才会被限制访问:

橙心优选橙批发链接多端引领社区新电商零售平台高质量发展社区团购已经进入了逐渐白热化的阶段,随着资本寒冬的到来,社区团购并不好过,转型升级以及合并成为企业发展的重要方式。而橙心优选作为转换赛道的一员,9月份,橙心优选B2B业务橙批发正式北京交通委淡季压缩投放总数中心城区共享单车将不超50万辆来源央广网央广网北京12月3日消息(记者王晶)为做好2022年冬奥会冬残奥会交通服务保障,落实接诉即办每月一题工作要求,北京已经在全市范围内启动互联网租赁自行车百日整治行动。今天(注解的使用场景提供信息给编译器编译器可以利用注解来处理一些,比如一些警告信息错误等编译阶段时处理利用注解信息来生成一些代码,在kotlin生成代码非常常见,一些内置的注解为了与javaAPI的互中国人工智能中高端人才储备只相当于美国的20,缺口将超1000万相比欧美国家,我国仍然缺乏人工智能领域的中高端人才,中国人工智能高端人才只相当于美国的20。12月2日下午,在浦东国际人才港论坛现场,中欧国际工商学院院长汪泓透露,预测到2025年假设美国封锁了安卓系统,那我们正在使用的安卓手机会不会受到影响?目前我国几乎所有厂商都在使用安卓系统,可以说安卓救活了中国手机厂商,不管是华为,小米,魅族,ov,一加还是锤子通通使用的安卓。闭源安卓不影响手机的使用如果美国不顾谷歌死活强行闭源安如果伊朗的GPS被美国关闭,俄罗斯可以提供自己的导航定位给伊朗用吗?你怎么看?如果伊朗的gps被美国关了。俄罗斯可以开放格洛纳斯导航系统给伊朗使用吗?如果美国和伊朗之间爆发战争,俄罗斯虽然说不会直接进行军事介入(就是介入也得自欺欺人,指的这群毛子说他们是伊朗好消息适时降准,持续看好新能源食品白酒军工科技连续两周加班汇报工作,不得不说互联网卷起来比任何行业都厉害,真心累,每天都是凌晨到家,不仅自己要写材料,同时也要辅助下属做好个人述职材料,研发的PPT整的比产品还好,互联网内卷化真iPhone13将推出粉色版,新款MacBookPro将配有十核心芯片科技行业新鲜趣事一文速览,在这里你可以了解科技热点获悉行业动态,话不多说让我们一起来看看吧iPhone13将推出粉色版海外爆料者PengPhones在社交平台公布了一组iPhone大佬们5000以内有什么手机好用的,性价比高一点的,推荐一下?谢邀!就目前来看,5000元以内的顶级旗舰产品,基本属于各家品牌的顶级旗舰产品,当然在目前国产手机价格上升的前提之下,用户只能买到Pro级别的产品,Pro显然还是有些吃力!而我们细一千块的手机和五千的手机差距到底在哪里?文小伊评科技经常看到一种言论,有些消费者认为一千块钱的手机和五千块钱的手机不玩游戏用起来没什么区别,认为高端手机上的功能都是噱头,都是华而不实,感知不强,那么事实情况真的是这样么?谁有微信被无缘无故封了的吗,腾讯竟然没客服,电话没人接?我在去年12月曾经被微信封过一次。没有任何理由,投诉得到的结果就是有人投诉,要封两个星期。在被封的这段时间,我不断与腾讯客服取得联系,想知道是谁投诉的我,因为什么被投诉,知可惜,腾
电动车一定比燃油车智能?看完福特EVOS再说吧文二哥头9月26日晚,福特EVOS正式开启了预售,一共四款车型,全系标配2。0T8AT动力组合,售价区间分布在22。78万26。08万之间。今年上海车展福特EVOS首次亮相的时候,微软计划推出专用Xbox云游戏硬件美东时间6月10日,微软宣布将很快推出一款专门用于游戏流媒体的游戏设备,并与多家电视制造商合作,将Xbox体验直接嵌入联网屏幕。与此同时,微软计划在今年晚些时候向Xbox电脑应用程计划年销40万辆,9月上险量不到4000辆,红旗的爱国牌能打多久?文Lei当一个品牌和爱国情怀挂上钩的时候,国人似乎就有了不得不买的理由。就像华为。我们不得不承认,尽管目前华为的很多技术都已经走在世界前列,但如今使用华为产品,很大程度上不是为了它8月1日辉哥本月的目标是做到40点!具体计划如下辉哥七月份定立的目标是做到30个点!可惜啊!美中不足的是只做到了28点。因此,辉哥八月份订立的目标必须要多努力一点,把那两个点补回来!所以,辉哥决定八月份的目标是做到40个点!现在唯美吃相训练计划自拍神器解锁花式自拍技华为nova2系列自拍样张火锅店里的热气蒸腾挡不住你的笑脸,满桌的新鲜食材让人心花怒放。我自拍少你可别骗我,这位小姐姐一手端碗,一手盛面,哪里像是在自拍的模样?然而若是将镜头拉远,德尔塔来势汹汹怎么办?守住入口是关键单日新增确诊70,全国一百多个中高风险地区,各大小区封闭旅游景点所有人员不得离开本次以南京禄口机场为主要起点的疫情,短短几天内扩散至全国各个地区,一下子在群众中引起反响,仿佛又回到双11期间,驿站如何高效运营不爆仓,一篇文章给你讲清楚双11首战轰轰烈烈的来了,也拉开了今年快递行业旺季的帷幕。据国家邮政局市场监管司副司长边作栋介绍,今年的旺季范围自11月初至2021年春节(2月12日)前夕,共计103天。其中,双车站里还是注意点姿势吧,右边的同事都有点看不下去了。哈哈下班的路上,想着七夕还未脱单加上饿着肚子产生低血糖症状,眼一黑就昏了过去。醒来的时候,发现一个妹纸用双腿枕着我,给我掐人中急救。我心想,这是老天爷给我的脱单礼物么?我到底造了什么孽你们在读书时经历过什么全校轰动的事情?评论区笑死哈哈哈我只记得小学的时候有个同学去厕所弹别人的小JJ导致发炎,他妈妈拿着扫把满学校的追,几乎整个学校的都出来围观小朋友虽然你现在打滚的姿势真的很帅,但是希望你一会回家挨揍的时候还能保持这论亲爸的吐槽,到底能多深入人心?小姐姐第一次做饭一家人笑喷了论亲爸爸的吐槽,到底能多深入人心。小姐姐第一次做饭给家里人,结果爸爸就吃了一口,就吐出了那么经典的话,小爱已经能想象到,味道到底有多难吃了。哈哈哈,猫猫学的也太像了吧现在相亲的人不事情闹大了,字节跳动实习生删库跑路?我是这么看的NEWS全球财经观察新闻速递6月24日消息,脉脉用户程序猿。白胜在社交媒体称,字节跳动一名实习生删除了公司所有lite模型,在脉脉上引发关注。这名用户随后在回复中称实习生直接del