Получить текущий ApplicationUser из класса в ASP.NET MVC - PullRequest
0 голосов
/ 21 мая 2018

Я пытаюсь получить информацию о текущем, подписанном в ApplicationUser из класса.

Мне удалось добиться этого в контроллере, подобном этому:

private readonly UserManager<ApplicationUser> _userManager;

public AccountController(UserManager<ApplicationUser> _userManager)
{
    _userManager = userManager;
}

private Task<ApplicationUser> GetCurrentUserAsync() => _userManager.GetUserAsync(HttpContext.User);

Однако,когда я пытаюсь сделать это в классе, я получаю сообщение об ошибке как для _usermanager, так и HttpContext, в котором говорится, что ссылка на объект обязательна.

Я пробовал это сделать, однако не могу получить доступ кИнформация с помощью этого метода.Любая помощь будет принята с благодарностью.

var contextAccessor = services.GetRequiredService<IHttpContextAccessor>();
var user = contextAccessor.HttpContext.User;

Ответы [ 2 ]

0 голосов
/ 23 мая 2018
HttpContext.Current.User.Identity.GetUserId()
0 голосов
/ 21 мая 2018

Свойство User вашего контроллера обеспечивает прямой доступ к основному объекту пользователя.т.е. System.Security.Principal.IPrincial.

this.User;

this.User.Identity предоставляет идентификатор этого пользователя, который, вероятно, принадлежит поставщику идентификационных данных псевдонима идентификации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...