Существует множество разных ответов для разных RC-ов ASP.NET Core о том, как получить идентификатор текущего пользователя. Я хотел задать здесь определенный вопрос. Обратите внимание, что project.json теперь имеет "Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.0.0"
С RC1 вы можете сделать что-то вроде этого:
using Microsoft.AspNet.Identity;
using System.Security.Claims;
User.GetUserId();
Но с недавно выпущенной версией 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)
Итак, с помощью RTM и Core EF Core 1 для .NET Framework 1 со следующими библиотеками в project.json, каков правильный способ получить идентификатор текущего пользователя в системе?
"Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.0.0",
"Microsoft.AspNetCore.Mvc": "1.0.0",