我是第一次使用ASP.NET Core Web API,对它很陌生。我已经添加了索赔,现在我想排序 "读取 "和访问它们。
谁能帮我解决这个问题?
其实很简单。当你创建JWT令牌时,你就可以向它添加权限。它可以是userId,他的角色等。
所以当你设置 授权与承载计划,每个需要授权的请求都会被验证。例如,这个方法将只允许使用jwt令牌和 索赔型 角色 的 管理员 :
[Authorize(AuthenticationSchemes = "Bearer")]
public class YourController : ControllerBase
{
...
[HttpGet]
[Authorize(Roles = "admin")]
public async Task<IActionResult> Method(string id)
{
}
...
}
如果代币没有所需的权利要求,你将得到以下信息 403 Forbidden
回应