.NET 自定义中间件 判断是否存在 AllowAnonymousAttribute 特性 来判断是否需要身份验证

2023-12-19

        public Task InvokeAsync(HttpContext context)
        {
            // 获取终点路由特性
            var endpointFeature = context.Features.Get<IEndpointFeature>();
            // 获取是否定义了特性
            var attribute = endpointFeature?.Endpoint?.Metadata?.GetMetadata<AllowAnonymousAttribute>();
            if (attribute != null)
            {
                logger.LogInformation($"{context.Request.Path} 无需授权");
            }
            else
            {
                logger.LogInformation($"{context.Request.Path} 需要授权");
            }

            // 调用下一个中间件
            return _next(context);
        }

注意事项

要想上面操作有效,也就是不为 null ,需要满足以下条件,否则 endpointFeature 返回 null

  • 启用端点路由 AddControllers() 而不是 AddMvc()
  • UseRouting() UseEndpoints() 之间调用你的中间件

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

.NET 自定义中间件 判断是否存在 AllowAnonymousAttribute 特性 来判断是否需要身份验证 的相关文章

  • 运算符“">”不能应用于类型“ulong”和“int”

    我很好奇为什么 C 编译器只为第二个 if 语句提供错误消息 enum Permissions ulong ViewListItems 1L public void Method int mask 138612833 int compare
  • 将下一个参数作为 String.Format 中的字段宽度

    在 C 中 我有一个想要用于某些字符串的宽度 但直到运行时我才知道该宽度 我正在做这样的事情 string Format 0 digits value prints 123 as 123 是否有一个字符串格式化指令可以让我指定它 而无需像这
  • 如何防止在 ActiveX 方法调用期间重新进入 WPF 事件处理程序?

    我们从 WPF 和 STA 应用程序中调用 ActiveX 组件上的方法 此调用是通过以下方式后期绑定执行的 res ocx GetType InvokeMember methodName flags null ocx args 其中 oc
  • CLR 2.0 与 4.0 性能比较?

    如果在 CLR 4 0 下运行 为 CLR 2 0 编译的 NET 程序会运行得更快吗 应用程序配置
  • WPF DataGrid 验证/绑定模式错误

    我创建了一个非常简单的新项目 仅测试 Microsoft WPF DataGrid 行为 不涉及其他 我只使用标准的 DataGrid
  • 如何判断计算机是否已重新启动?

    我曾经使用过一个命令行 SMTP 邮件程序 作为试用版的限制 它允许您在每个 Windows 会话中最多接收 10 封电子邮件 如果您重新启动计算机 您可能还会收到 10 个以上 我认为这种共享软件破坏非常巧妙 我想在我的应用程序中复制它
  • 在Linux中,找不到框架“.NETFramework,Version=v4.5”的参考程序集

    我已经设置了 Visual studio 来在我的 Ubuntu 机器上编译 C 代码 我将工作区 我的代码加载到 VS 我可以看到以下错误 The reference assemblies for framework NETFramewo
  • 等待 IAsyncResult 函数直至完成

    我需要创建等待 IAsyncResult 方法完成的机制 我怎样才能做到这一点 IAsyncResult result contactGroupServices BeginDeleteContact contactToRemove Uri
  • 如何在richtextbox中使用多颜色[重复]

    这个问题在这里已经有答案了 我使用 C windows 窗体 并且有 richtextbox 我想将一些文本设置为红色 一些设置为绿色 一些设置为黑色 怎么办呢 附图片 System Windows Forms RichTextBox有一个
  • WCF服务健康状况监控

    我刚刚实现了 WCF 服务 目前正在研究服务监控选项 我们的服务器团队目前仅托管 java 服务 希望我们的实例始终运行 因此它可以在该实例的生命周期内收集数据 他们表示将使用我们的 webmon 操作之一来获取统计信息 但我们正在使用每次
  • 如果 async-await 不创建任何额外的线程,那么它如何使应用程序响应?

    一次又一次 我看到它说使用async await不创建任何额外的线程 这是没有意义的 因为计算机看起来一次做不止一件事的唯一方式是 实际上一次做不止一件事 并行执行 利用多个处理器 通过调度任务并在它们之间切换来模拟它 做一点A 一点B 一
  • 使用 Amazon SQS 的 .net 应用程序示例

    我正在寻找一个示例 Net 应用程序 该应用程序会持续检查 Amazon SQS 是否有新消息 并在发现新消息时执行一项操作并将其从队列中删除 我的目标是让一个在 EC2 上运行的应用程序监视我的 SQS 队列中的新消息 当找到一条消息时
  • 我的 .NET 库列表中缺少 System.Windows.Data

    您好 我想使用 System Windows Data IValueConverter 但是当我尝试在 VS2010 中添加对 System Windows Data 的引用时 我只看到 System Windows Forms 和 Sys
  • 标准化 C# 中的换行符

    我有一个数据流 可能包含 r n r n n r 或它们的任意组合 有没有一种简单的方法来规范化数据 使它们全部变成 r n 对 使显示更加一致 所以会产生这种转换表 r gt r n n gt r n n n gt r n r n n r
  • .NET 标准与 .NET 核心

    我已经了解了 NET Standard 和 NET Core 之间的区别 但我真的不知道区别是什么 或者何时选择 NET Standard 库项目以及何时选择 NET Core 库项目 我读到 NET Standard 是为了确保一组 AP
  • 如何将 Razor 视图转换为字符串?

    我想使用我的 Razor 视图作为某种发送电子邮件的模板 所以我想将我的模板 保存 在视图中 将其作为字符串读入控制器 进行一些必要的替换 然后发送它 我有有效的解决方案 我的模板作为 HTML 页面托管在某处 但我想将其放入我的应用程序中
  • 使用 XML 的 WCF 请求验证

    我有一个WCF使用 Net 4 0框架的SOAP Web服务 我在用contract first方法 即 服务代码是使用 WCSF Blue 工具从手写 WSDL 生成的 我对请求消息有以下要求 如果价格小于 100 则不得有税项 但如果大
  • 使用远程管理凭据将文件复制到远程计算机

    我正在使用 C 我需要能够将一组文件复制到大约 500 台不同的计算机上 我已成功地使用 LogonUser 方法来模拟具有复制文件所需权限的域帐户 文件的目标路径类似于 远程计算机 C SomeFolder 我的问题是 有没有办法做到这一
  • 具有子列表属性映射问题的自动映射器

    我有以下型号 Models public class Dish Required public Int64 ID get set Required public string Name get set Required public str
  • 有没有一种简单的方法可以让 Visual Studio 2015 使用特定的 ToolsVersion?

    使用特定版本构建项目或解决方案时msbuild我可以使用以下命令选择早期的 net 工具链 toolsversion or tv switch C Program Files x86 MSBuild 14 0 bin msbuild tv

随机推荐

  • onnx 图像分类

    参考文章 netron 模型可视化工具netron CSDN博客 Pytorch图像分类模型部署 ONNX Runtime本地终端推理 哔哩哔哩 bilibili 使用netron可视化模型结构 1 使用在线版 浏览器访问 Netron 点
  • 多用户无线信道资源分配算法优化

    随着无线通信技术的快速发展 越来越多的用户依赖于无线网络进行通信和数据传输 然而 由于无线信道资源的有限性 多用户之间的信道资源分配变得尤为重要 为了提高无线通信的效率和公平性 研究者们一直致力于优化多用户无线信道资源分配算法 本文将介绍多
  • 世微 AP2400 降压恒流驱动ic 全亮 半亮 爆闪三功能循环模式

    产品描述 AP2400 是一款 PWM 工作模式 高效率 外围简单 外驱功率管 适用于 5 100V输入的高精度降压 LED 恒流驱动芯片 外驱 MOS 最大输出电流可达 6A AP2400 可实现三段功能切换 通过MODE1 2 3 切换
  • Python环境搭建

    一 Python运行环境 PATH添加环境变量 方便添加后续工具 后续自定义安装即可 交互式解释器 二 开发环境 PyCharm
  • SSM框架实现学生信息管理系统

    这个管理系统是我学完SSM后的一个练手小项目 感兴趣的小伙伴可以在B站搜下SSM实战 这是雷神讲的一套课程 他用得是JSP进行前端页面渲染 前端方面的湘学习占了 但是JSP技术太老了 我把JSP改成Thymeleaf 有关Thymeleaf
  • 使用C语言设计并实现一个成绩管理系统

    使用C语言设计并实现一个成绩管理系统 该系统用于教师管理一门课程的成绩 系统功能 成绩录入 打印成绩单 修改成绩 统计分数段 统计平均分 统计不及格学生 相关要求 1 系统要有主菜单界面 让教师了解系统的功能 以及如何选择系统功能 2 系统
  • .h5文件简介

    一 简介 HDF5 Hierarchical Data Format version 5 是一种用于存储和组织大量数据的文件格式 它支持高效地存储和处理大规模科学数据的能力 HDF5 是一种灵活的数据模型 可以存储多种数据类型 包括数值数据
  • 如何使用 C++ 开发 Redis 模块

    在本文中 我将总结 Tair 在使用 C 开发 Redis 模块时遇到的一些问题 并将其提炼为最佳实践 目的是为 Redis 模块的用户和开发人员提供帮助 其中一些最佳实践也可以应用于 C 编程语言和其他编程语言 介绍 从 Redis 5
  • 刚入行的嵌入式新人是否值得坚持嵌入式方向?

    今日话题 刚入行的嵌入式新人是否值得坚持嵌入式方向 如果你正在学习C语言或者嵌入式方向 坚持下去是一个明智的选择 嵌入式行业涉及硬件 技术更新相对较慢 但这为你积累宝贵的经验提供了机会 与纯软件相比 具有独特的优势 我提供了一套全面的嵌入式
  • Java版商城:Spring Cloud+SpringBoot b2b2c实现多商家入驻、直播带货及免 费小程序商城搭建

    1 涉及平台 平台管理 商家端 pc端 手机端 买家平台 h5 公众号 小程序 app端 ios android 微服务平台 业务服务 2 核心架构 spring cloud spring boot mybatis redis 3 前端框架
  • 【Spring】SpringMVC项目升级成SpringBoot实践

    将Spring MVC项目升级为Spring Boot项目需要一系列详细的步骤 以下是一个更详细的步骤指南 项目初始化 创建一个新的Spring Boot项目 您可以使用Spring Initializr或Spring Boot的Maven
  • 读论文:(Style GAN)A Style-Based Generator Architecture for Generative Adversarial Networks

    2018年NVIDIA首次使用ProGAN应对这一挑战时 研究人员都无法生成高质量的大图像 如 1024 1024 ProGAN的关键创新点是渐进式训练 它首先使用非常低分辨率的图像 如 4 4 开始训练生成器和识别器 并且每次都增加一个更
  • 智能家居管制是怎么回事,智能家居出现了新赛道?

    为增进大家对智能家居的认识 本文将对智能家居 智能家居的管制以及智能家居新赛道予以介绍 智能家居 是现在的发展主流之一 也可以说 智能家居是这个时代的主题 为增进大家对智能家居的认识 本文将对智能家居 智能家居的管制以及智能家居新赛道予以介
  • 【Lidar】Open3D点云DBSCAN聚类算法:基于密度的点云聚类(单木分割)附Python代码

    1 DBSCAN算法介绍 DBSCAN聚类算法是一种基于密度的聚类算法 全称为 基于密度的带有噪声的空间聚类应用 英文名称为Density Based Spatial Clustering of Applications with Nois
  • Java语言真的跌落神坛了吗?

    Java语言真的跌落神坛了吗 在开始前我有一些资料 是我根据自己从业十年经验 熬夜搞了几个通宵 精心整理了一份 Java的资料从专业入门到高级教程 工具包 点个关注 全部无偿共享给大家 在评论区回复 888 之后私信回复 888 即可拿走
  • 一封来自北京软协的感谢信

    日前 北京软件和信息服务业协会 以下简称北软协 向酷雷曼 北京同创蓝天云科技有限公司 发来感谢信 以 表彰和感谢 同创蓝天对北软协及行业的 全方位支持和卓越贡献 作为北软协理事会会员单位 酷雷曼积极参与各类论坛交流活动 为 行业调研建言献策
  • Netty火热平时却接触不多?1515页Netty学习进阶笔记真香

    Netty 的介绍 Netty 是由 JBOSS 提供的一个 Java 开源框架 现为 Github 上的独立项目 Netty 是一个异步的 基于事件驱动的网络应用框架 用以快速开发高性能 高可靠性的网络IO 程序 Netty 是一个异步的
  • vscode 内置(自带)功能使用

    vscode 搜索 功能 使用正则表达式 参考文章 Justice23 参考文章 熟悉的新风景 转义字符 匹配内容 t tab r 回车符号 r n 换行符号 n 特殊符号转义 如
  • JMeter —— 如何循环使用接口返回的多个值!

    在用JMeter做接口测试的时候 经常会遇到这样一种情况 一个接口请求返回了多个值 然后下一个接口想循环使用前一个接口的返回值 第二种情况 只想循环请求前一个接口返回值中的随机不定长度的某一些值 并不想用全部的 今天 我就和大家讲解一下这两
  • .NET 自定义中间件 判断是否存在 AllowAnonymousAttribute 特性 来判断是否需要身份验证

    public Task InvokeAsync HttpContext context 获取终点路由特性 var endpointFeature context Features Get