NetCore通过中间件判断接口是否存在 AllowAnonymousAttribute 特性

简介: 特性来判断一个接口是否被标记为允许匿名访问。以下是一个简单的中间件示例,用于在请求管道中检查接口是否被。.NET Core中,可以通过检查接口上的。在应用程序中使用此中间件,将其添加到。

.NET Core中,可以通过检查接口上的AllowAnonymous特性来判断一个接口是否被标记为允许匿名访问。以下是一个简单的中间件示例,用于在请求管道中检查接口是否被AllowAnonymous标记:

public class AllowAnonymousMiddleware
{
   
    private readonly RequestDelegate _next;

    public AllowAnonymousMiddleware(RequestDelegate next)
    {
   
        _next = next;
    }

    public async Task Invoke(HttpContext context, IAuthorizationService authorizationService)
    {
   
        var endpoint = context.GetEndpoint();

        if (endpoint != null)
        {
   
            var allowAnonymous = endpoint.Metadata.GetMetadata<IAllowAnonymous>();

            if (allowAnonymous == null)
            {
   
                // 没有AllowAnonymous属性
            }
        }

        await _next(context);
    }
}

在应用程序中使用此中间件,将其添加到 Startup.cs 文件的 Configure 方法中:

public void Configure(IApplicationBuilder app)
{
   
    app.UseRouting();

    app.UseMiddleware<AllowAnonymousMiddleware>();
}
目录
相关文章
|
6月前
|
消息中间件 存储 监控
中间件消息发布者功能特性
【6月更文挑战第11天】
48 5
|
5月前
|
消息中间件 存储 运维
|
5月前
|
弹性计算 负载均衡 中间件
|
5月前
|
消息中间件 算法 中间件
|
监控 中间件 Linux
全面升级 | 阿里云中间件推出3款新品和3项产品新特性,加速企业中台落地
自2015年年底,阿里巴巴对外宣布全面启动2018年中台战略,构建符合DT时代的更具创新性、灵活性的“大中台、小前台”组织机制和业务机制后,承载中台战略的企业级互联网架构已在各行业快速复制,帮助各行业客户进行业务创新,实现数字化转型。
4253 13
|
Java 中间件 网络架构
分布式协调服务中间件ZooKeeper 入门(1)-ZK的介绍与特性
一、Zookeeper简介 Zookeeper是一个服务,是一个分布式协调技术,他提供高性能,分布式的协调服务。主要用来解决分布式环境当中多个进程之间的同步控制,让他们有序的去访问某种临界资源,防止造成“脏数据”的后果。
3007 9
|
7月前
|
消息中间件 存储 负载均衡
消息中间件的选择:RabbitMQ是一个明智的选择
消息中间件的选择:RabbitMQ是一个明智的选择
116 0
|
6月前
|
消息中间件 存储 中间件
【消息中间件】详解三大MQ:RabbitMQ、RocketMQ、Kafka
【消息中间件】详解三大MQ:RabbitMQ、RocketMQ、Kafka
1588 0
|
5月前
|
消息中间件 编解码 Docker
Docker部署RabbitMQ消息中间件
【7月更文挑战第4天】Docker部署RabbitMQ消息中间件
279 3
|
2月前
|
消息中间件 编解码 Docker
【Docker项目实战】Docker部署RabbitMQ消息中间件
【10月更文挑战第8天】Docker部署RabbitMQ消息中间件
114 1
【Docker项目实战】Docker部署RabbitMQ消息中间件