本插件旨在解决一些局域网半公开swagger文档情况下,想限制一下swagger文档查看权限的使用场景。
本人有一些swagger部署在局域网后,想仅提供给项目组成员使用swagger文档,故将此部分功能提出一个小插件使用。
如果你是公网下使用,请慎重、请慎重、请慎重...
本插件借助deepseek开发,处于初步开发,自己用着玩阶段。如能对你产生一点点帮助,不胜惶恐。
开源地址:
使用方式也很简单
- 安装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功能,请勿使用本插件