【发布时间】:2017-04-30 10:39:33
【问题描述】:
我在 startup.cs 中配置了身份验证策略
services.AddAuthorization(auth =>
{
auth.AddPolicy("Bearer", policy => policy
.AddAuthenticationSchemes(JwtBearerDefaults.AuthenticationScheme)
.RequireAuthenticatedUser().Build());
});
我在 api 控制器的属性中使用它:
[Authorize("Bearer")]
当我在 VS 代码中运行调试器时,我得到一个异常:
fail: Microsoft.AspNetCore.Server.Kestrel[13]
Connection id "0HL14EICAK26S": An unhandled exception was thrown by the application.
System.InvalidOperationException: The AuthorizationPolicy named: 'Bearer' was not found.
at Microsoft.AspNetCore.Authorization.AuthorizationPolicy.<CombineAsync>d__9.MoveNext()
当我通过dotnet run 运行程序时,我没有收到此异常,它能够获取授权属性。
为什么会这样?
【问题讨论】:
标签: c# asp.net-core jwt asp.net-authorization .net-core