Я использую аутентификацию на основе ролей в .Net Core 3.1 Api. Я использую токены Jwt и претензии пользователей. Аутентификация на основе ролей работает нормально. Но в некоторых контроллерах я хочу убедиться, что пользователь получает свои собственные данные. Потому что, если сотрудник отправляет другой идентификатор сотрудника в запросе, он / она может получить данные этого ресурса, я этого не хочу.
У меня есть электронная почта, идентификатор и роли в токене с некоторыми другими данными.
Я хочу, чтобы что-то вроде [Authorize(Roles=Employee, Id={userId})]
[HttpGet("getUserInventory")]
//[Authorize(Roles="Employee", Claims.Id={userId})]
public IActionResult getUserInventory([FromQuery] int userId)
{
var inventories = _userInventoryExportService.GetGlobalInventory(userId);
if(inventories.Success)
{
return Ok(inventories.Data);
}
return BadRequest(inventories.Message);
}