#c# #asp.net-core
Вопрос:
В ASP.NET Основной веб-API, у меня есть этот код:
public MandateGetDto FromMandateToMandateGetDto(Mandate mandate) { MandateGetDto mandateDto = new MandateGetDto(); var principal = new ClaimsPrincipal(); var loggedInUserId = principal.FindFirstValue(ClaimTypes.NameIdentifier); mandateDto.MerchantId = mandate.MerchantId; mandateDto.DueDate = mandate.DueDate; mandateDto.StartDate = mandate.StartDate; mandateDto.EndDate = mandate.EndDate; return mandateDto; }
То, что у меня есть выше, выбирает все записи.
Я использую:
var loggedInUserId = principal.FindFirstValue(типы утверждений.Идентификатор имени);
чтобы получить идентификатор пользователя, вошедшего в систему:
Но как мне выбрать записи в мандате, где MerchantId = loggedInUserId ?
Спасибо
Комментарии:
1. Новый пустой
ClaimsPrincipal
экземпляр не будет содержать никаких утверждений. ВашаloggedInUserId
воля будет пустой.2. @RichardDeeming — Что мне сделать, чтобы получить эти данные на основе идентификатора loggedInUserId?
3. Вам нужно каким-то образом получить доступ к вошедшему в систему пользователю. Либо передайте его своему методу, либо введите
IHttpContextAccessor
класс, чтобы получить текущееHttpContext
и получить егоUser
свойство.