我的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