C# SwaggerLoginAuthPlugin 一款给Swagger文档加登录页面的小插件

本插件旨在解决一些局域网半公开swagger文档情况下,想限制一下swagger文档查看权限的使用场景。

本人有一些swagger部署在局域网后,想仅提供给项目组成员使用swagger文档,故将此部分功能提出一个小插件使用。

如果你是公网下使用,请慎重、请慎重、请慎重...

 

本插件借助deepseek开发,处于初步开发,自己用着玩阶段。如能对你产生一点点帮助,不胜惶恐。

开源地址:

zhangboyanzhangboyan/SwaggerLoginAuthPlugin: 拦截Swagger默认页面,并进行登录验证的小插件。用于想在局域网公开Swagger但有想做一部分权限限制的情况。

 

使用方式也很简单

  • 安装nuget包
dotnet add package SwaggerLoginAuthPlugin --version 1.0.0
  •  在您的webapi项目中注册
  • builder.Services.AddControllers();  //需要您的项目非最小 api
    builder.Services.AddSwaggerAuth(options =>
    {
        options.Enabled = true;
        options.DefaultUsername = "admin"; //swagger登录账户
        options.DefaultPassword = "123456"; //swagger登录密码
    });
    app.UseSwaggerAuth(); //在UseSwagger前注册SwaggerAuth中间件
    app.UseSwagger();
    app.UseSwaggerUI();
    app.MapControllers();  //需要您的项目非最小 api

     

运行您的项目,在访问您的swagger地址时会被拦截

 

image

 

本插件借助AI开发,用时2h,仅为学习交流使用

市面上已有类似功能的插件,要么太老,要么捆绑了其他功能,心血来潮做了这个小插件

另如果您有用swagger其他的auth功能,请勿使用本插件

posted @ 2026-05-09 13:50  柠檬苏打z  阅读(509)  评论(3)    收藏  举报