我的API使用的是UseJwtBearerAuthentication
,HttpContext.User.IsAuthenticated
的值为True
,所以我可以在我的控制器上使用[Authorize]
。在运行时为ASP.NET Core API授权添加用户角色
但现在我想使用基于角色的身份验证,如[Authorize(Policy = "TestPolicy")]
。我使用AddAuthorization(...)
扩展名在我的Startup.cs
上添加了所需的策略。
请求返回code 403
(未经授权),因为未填充HttpContext.User.Identity.Roles。
我创建了一个中间件来填充这个属性,我可以通过UserManager.GetRolesAsync(user)
得到用户的角色。现在我有一个用户角色列表,但是如何将其添加到帐户HttpContext.User
以便用户可以通过我添加的策略进行授权?
尼斯入门套件,采取了许多细节考虑。 – RBasniak