對於ASP.NET Core的不同RC,在如何獲取當前登錄用戶的標識中存在大量不同的答案。我想在這裏問一個確定的問題。請注意,project.json現擁有「Microsoft.AspNetCore.Identity.EntityFrameworkCore」:「1.0.0」在Entity Framework Core中獲取當前用戶標識的正確方法
在RC1中,你可以做這樣的事情:
using Microsoft.AspNet.Identity;
using System.Security.Claims;
User.GetUserId();
但隨着新發布的版本EF核心1,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中的以下庫,獲取當前登錄用戶的ID的正確方法是什麼?
"Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.0.0",
"Microsoft.AspNetCore.Mvc": "1.0.0",
請不要將標籤置於問題標題! http://stackoverflow.com/help/tagging – Tseng