在Net6 WebApi中 如何设置要访问Swagger 在线文档的地址的时候需要输入账户密码
时间: 2024-02-20 19:59:18 浏览: 125
要在Net6 WebApi中设置访问Swagger在线文档的地址需要输入账户密码,可以通过以下步骤完成:
1. 在Net6 WebApi项目中安装Swashbuckle.AspNetCore包,可以使用NuGet管理器或者命令行安装。
2. 在Startup.cs文件的ConfigureServices方法中添加Swagger服务:
```csharp
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" });
});
```
3. 在Startup.cs文件的Configure方法中启用Swashbuckle中间件:
```csharp
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.RoutePrefix = "swagger";
c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
c.DocExpansion(DocExpansion.None);
c.EnableFilter();
c.EnableDeepLinking();
c.EnableValidator();
c.DisplayRequestDuration();
c.DisplayOperationId();
c.DisplayRequestHeaders();
c.DisplayServer();
});
```
4. 在程序中设置Swagger访问授权:
```csharp
c.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme
{
Description = "JWT Authorization header using the Bearer scheme. Example: \"Authorization: Bearer {token}\"",
Name = "Authorization",
In = ParameterLocation.Header,
Type = SecuritySchemeType.Http,
Scheme = "bearer",
Reference = new OpenApiReference
{
Type = ReferenceType.SecurityScheme,
Id = "Bearer"
}
});
c.AddSecurityRequirement(new OpenApiSecurityRequirement
{
{
new OpenApiSecurityScheme
{
Reference = new OpenApiReference
{
Type = ReferenceType.SecurityScheme,
Id = "Bearer"
}
},
new string[] {}
}
});
```
以上代码中,设置了一个名为Bearer的安全定义,其类型为Http,方案为bearer。然后将其添加到了全局安全要求中,表示所有的API都需要授权才能访问。
在访问Swagger在线文档的时候,需要输入账户密码来进行授权。
阅读全文