gpt4 book ai didi

c# - endpoints.MapControllerRoute() 上的 RequireAuthorization() 不起作用,每个请求都通过

转载 作者:行者123 更新时间:2023-12-04 01:32:32 25 4
gpt4 key购买 nike

我在 Asp.Net Core 3.1 中有以下代码

public void ConfigureServices(IServiceCollection services)
{
services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
}).AddJwtBearer();
}

public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory)
{
app.UseRouting();

app.UseCors(DefaultCorsPolicyName);

app.UseAuthentication();
app.UseAuthorization();

app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute("default", "{controller}/{action}/{id?}").RequireAuthorization(new AuthorizeAttribute());
});
}


[ApiController]
[Route("[controller]/[action]")]
public class TestController : ControllerBase
{
[HttpGet]
public string Test()
{
return "Test works!";
}
}

但所有请求都通过并且没有授权工作。知道为什么会这样吗?

最佳答案

添加 endpoints.MapControllers().RequireAuthorization(...);进入您的端点配置。

您的 Controller 有自己的/明确的 Route属性并且不受 MapControllerRoute 的保护称呼。

关于c# - endpoints.MapControllerRoute() 上的 RequireAuthorization() 不起作用,每个请求都通过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60669157/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com