У меня есть WebAPI Контроллер , производный от BaseController , производный от AspNetCore's
Controller
Я бы хотел загружать User
из базы данных всякий раз, когда он собирается в конечную точку, для которой требуется [Authorize]
Это мой код, где условие в этом if
является псевдокодом, потому что я не могу понять, как проверить, требует ли этот запрос авторизации или нет
public class DefaultController : Controller
{
protected readonly DatabaseContext _context;
protected readonly User _user;
public DefaultController(DatabaseContext context)
{
_context = context;
if (HttpContext.Request.RequiresAuthorization) // pseudo code
{
var id = User.FindFirst(ClaimTypes.NameIdentifier).Value;
_user = _context.Users.Find(id);
}
}
}
По сути, я бы хотел не загружать пользователя при каждом запросе, даже если он не нуждается в авторизации и может быть не авторизован там.
Можно ли достичь своего рода "глобально", поэтому BaseController
, из которого происходит любой другой контроллер?