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地址时会被拦截

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

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

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

相关推荐
Jeff-Tsai4 小时前
Day 14:业务对象的扩展点与重写时机
.net·架构设计·erp·definition-driven
IT规划师5 小时前
Redis 数据类型全解 - GEO 地理空间:附近的人、外卖、打车——背后原理与精度陷阱(九)
redis·.net
追逐时光者1 天前
一款基于 .NET 开源、免费的数据库自治诊断平台
后端·.net
追逐时光者1 天前
让 GitHub Copilot 更懂你的 .NET 代码风格:一份精简实用的 Copilot Instructions
后端·.net
Jeff-Tsai1 天前
Day 13:Session 管理与生命周期
.net·架构设计·erp·definition-driven
Lorenzo5652 天前
扫码点餐里的并发和断网:我在第一个全栈项目里做的几个决定
.net
1-1=02 天前
C# IO和序列化
c#·.net·.netcore
Jeff-Tsai2 天前
Day 12:定义与数据缓存的跨节点失效
.net·架构设计·erp·definition-driven
CSharp精选营2 天前
从控制台到「会动手」的 AI:用 Semantic Kernel 搭应用(小白教程)
c#·.net·ai agent·semantickernel·functioncalling