Существует множество различных ответов, которые можно найти здесь для разных RC-ов ASP.NET Core о том, как получить идентификатор текущего пользователя. Я хотел задать здесь определенный вопрос. Пожалуйста, обратите внимание, что project.json теперь имеет «Microsoft.AspNetCore.Identity.EntityFrameworkCore»: «1.0.0»Правильный способ получения текущего Идентификатора пользователя в Entity Framework Core
С RC1, вы могли бы сделать что-то вроде этого:
using Microsoft.AspNet.Identity;
using System.Security.Claims;
User.GetUserId();
Но с недавно выпущенной версии 1 из EF Core, Microsoft.AspNet.Identity - неправильная версия.
Там было предложения использовать UserManager, который, кажется, как много раз, чтобы получить вошедшего в систему пользователя:
private Task<ApplicationUser> GetCurrentUserAsync() => _userManager.GetUserAsync(HttpContext.User);
var user = await GetCurrentUserAsync();
var userId = user?.Id;
Другой метод, который я нашел:
private readonly UserManager<ApplicationUser> _userManager;
_userManager.GetUserId(User)
Так с ASP. NET Core 1 RTM и EF Core 1 со следующими библиотеками в project.json, каков правильный способ получить идентификатор текущего пользователя?
"Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.0.0",
"Microsoft.AspNetCore.Mvc": "1.0.0",
Пожалуйста, не ставьте теги под вопрос! http://stackoverflow.com/help/tagging – Tseng