Приложение - ASP.У нас есть юридические лица - пользователи и документы.Каждый пользователь проходит проверку подлинности, поэтому у меня есть userId на стороне сервера.У меня есть ресурс - документ.Каждый документ имеет автора (userId).И у нас есть действие с отправкой документов, которое может выполнить автор.Мне нужно авторизовать текущего пользователя как автора текущего документа для отправки.Итак, во всех руководствах я вижу такие рекомендации:
[Authorize]
public async Task<IActionResult> Send(int id)
{
var document = _documentRepository.Get(id);
if (document == null)
{
return new NotFoundResult();
}
var authorizationResult = await _authorizationService.AuthorizeAsync(User, document, new MyRequirement());
if (authorizationResult.Succeeded)
{
return Ok();
}
else
{
throw...;
}
}
Но что, если я не хочу получать документ?Мое общее взаимодействие API-BL выглядит следующим образом:
[Authorize]
public async Task<IActionResult> Send(int id)
{
await _documentSender.SendAsync(id);
}
И где я должен вызывать AuthorizationService в моем случае?Мне нужно каждый раз звонить получателю документа?