【发布时间】:2020-11-23 02:22:43
【问题描述】:
我使用的是JWT Bearer Authentication,并将其设置为默认值如下:
// Authentication setup
services
.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(options =>
{
...
});
以下是我必须在我的控制器上使用授权:
[Authorize]
[Route("api/[controller]")]
[ApiController]
public class ValuesController : ControllerBase {
...
}
不幸的是,这不起作用,我必须改用以下方法:
[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
[Route("api/[controller]")]
[ApiController]
public class ValuesController : ControllerBase {
...
}
谁能解释我如何避免将 AuthenticationScheme 添加到每个控制器?
【问题讨论】:
标签: asp.net asp.net-core jwt authorization