【发布时间】:2019-10-10 08:11:33
【问题描述】:
我有一个这样配置的 .Net Core 3.0 Web API:
services.AddAuthentication(x =>
{
x.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
x.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(x =>
{
...
});
services.AddAuthorizationCore(options =>
{
options.FallbackPolicy = new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.Build();
});
我在控制器中启用它,例如:
[Authorize(Roles = "Admin,Technician")]
public IActionResult CreateFoo([FromBody] Foo foo)
使用[AllowAnonymous] 也禁用了一些 api 端点。
本产品支持多种环境,一个端点需要匿名或授权依赖于运行时变量;当前使用自定义“ASPNETCORE_ENVIRONMENT”选项。
我看到了来自 .net 安全人员的 this 评论,但如果我实施自定义策略,它会禁止匿名访问。
如果应用程序在特定环境中运行,允许匿名访问的最简单方法是什么?
【问题讨论】:
标签: c# asp.net asp.net-core authorization asp.net-core-3.0