首页 > 其他分享 >在.NET Core 6.0中,你可以使用自定义 Middleware 来限制 Swagger/index.html 的访问,当用户进入到Swagger/index.html让系统提示404

在.NET Core 6.0中,你可以使用自定义 Middleware 来限制 Swagger/index.html 的访问,当用户进入到Swagger/index.html让系统提示404

时间:2023-04-14 12:11:36浏览次数:45  
标签:index 自定义 Middleware next html Swagger

  1. 创建一个自定义 Middleware 类,例如 SwaggerNotFoundMiddleware
    public class SwaggerNotFoundMiddleware
    {
        private readonly RequestDelegate _next;
    
        public SwaggerNotFoundMiddleware(RequestDelegate next)
        {
            _next = next;
        }
    
        public async Task Invoke(HttpContext context)
        {
            // 判断请求路径是否为 Swagger/index.html
            if (context.Request.Path.Value.Contains("/swagger/index.html"))
            {
                // 返回 404 错误页面
                context.Response.StatusCode = 404;
                await context.Response.WriteAsync("Not Found");
                return;
            }
    
            // 调用下一个 Middleware 或处理程序
            await _next.Invoke(context);
        }
    }
  2. Startup.cs 文件的 Configure 方法中,将自定义 Middleware 注册到应用程序的请求处理管道中,放在 Swagger Middleware 之前:
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        // 其他 Middleware
    
        // 注册 Swagger Middleware
        app.UseSwagger();
        app.UseSwaggerUI(c => {
            // Swagger UI 配置
        });
    
        // 注册自定义 Middleware,放在 Swagger Middleware 之前
        app.UseMiddleware<SwaggerNotFoundMiddleware>();
    
        // 其他 Middleware
    }

     

     


     

     

标签:index,自定义,Middleware,next,html,Swagger
From: https://www.cnblogs.com/duhaoran/p/17317911.html

相关文章

  • HTML、JS与PHP之间的数据传输
    在电商网站搭建过程中,前端经常会向后端请求数据,有时候通过HTML、JS和PHP文件的处理来实现数据的连通。通常情况下,用户在HTML中做关键字操作,JS对提交的表单进行数据处理,向后端发起ajax请求对应PHP的api接口,PHP在接收到数据后对连接服务器,服务器再通过PHP中的SQL语句对数据库关键字进......
  • npm安装html2pdf后出现缺少文件的情况
      当时发现这个问题的时候,我就去node_modules里面找,确实没有这个文件,故判定是没有完全安装导致的错误信息最终解决方案:在终端中进入项目文件夹,执行以下命令:npmuninstallhtml2pdfnpminstallhtml2pdf这将卸载旧的html2pdf模块并重新安装它。如果你仍然遇到问题,请......
  • 前端H5使用html5QrCode实现扫一扫识别二维码
          Vue版本:npminstallhtml5-qrcode<template><divclass="index"><!--扫一扫--><divclass="scan"v-if="isScanning"><divclass="scan-box"><divid=&qu......
  • 【异步加载JS脚本(script标签)至html文档中】的辅助函数
    Code:/***'asyncLoadScript'方法的配置项'options'的类型定义*@typedef{Object}IOptions*@prop{string}id-script标签的ID*@prop{Function}onSucceed-加载成功后的回调*@prop{(Function|undefined)}onFailed-加载失败后的回调*@prop{boolean}s......
  • es 同步索引报错:ElasticSearch ClusterBlockException[blocked by: [FORBIDDEN/12/ind
    es同步索引报错:ElasticSearchClusterBlockException[blockedby:[FORBIDDEN/12/indexread-only/allowdelete(api)]原因:网上有的解决方式是方法一,我试过,没有生效使用的是方法二方法一curl-XPUT-H"Content-Type:application/json"https://localhost:9200/_all/_set......
  • HTML介绍
    目录一、HTML基本介绍1.HTML是什么?2.HTML文档结构3.HTML标签格式4.HTML注释二、HTML常用标签head内常用标签具体使用:Meta标签三、body内常用标签分类:块级标签和内联标签基本标签特殊字符div标签和span标签img标签a标签列表标签表格form表单inputselect标签label标签textarea多行文......
  • html 点击文本自动聚焦到表单域中
    点击文本自动聚焦到表单域中利用label标签中for属性与input标签进行绑定for的值一定要与input标签中id的值相同<!DOCTYPEhtml><html> <head> <metacharset="utf-8"> <title>点击文本,自动聚焦到对应的表单中</title> </head> <body> <ul> <li&g......
  • 网页支持传统蒙古文排版样式HTML+CSS
    传统蒙古文排版跟大部分文字排版不一致,需要从上到下书写,然后从左到右的排版。样式文件如下:.vertical-text{-webkit-writing-mode:vertical-lr;-moz-writing-mode:vertical-lr;-o-writing-mode:vertical-lr;-ms-writing-mode:tb-lr;writing-mode:vertical-lr;text-o......
  • .NetCore(.NET6)中使用swagger和swagger版本控制
    原文:.NetCore(.NET6)中使用swagger和swagger版本控制目录一、.NET6中使用swagger二、.NET6中使用swagger版本控制 回到顶部一、.NET6中使用swagger swagger支持API自动生成同步的在线文档,下面在.NET6中引入1.建.NET6应用并建以下控制器///<summary>///......
  • swagger2与定时器
    1.springboot整合swagger21.1什么是swagger2Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务的接口文档.接口:controller相应的路径方法1.2为什么是swagger2目前的项目基本都是前后端分离,后端为前端提供接口的同时,还需同时提供......