在ASP.NET Identity中获取当前用户的快捷方式(最佳方式)是什么?
我为获取当前用户编写了此代码,但我不知道这是最好的方法吗?
public class MVCController : Controller
{
public User CurrentUser
{
get
{
string currentUserId = User.Identity.GetUserId();
User currentUser = DataContextFactory.GetDataContext().Users.FirstOrDefault(x => x.Id.ToString() == currentUserId);
return currentUser;
}
}
}
答案 0 :(得分:3)
使用Identity v2,获取用户的最佳方式是使用UserManager
对象。
var user = userManager.FindById(user.Identity.GetUserId());
答案 1 :(得分:0)
我们应该在身份验证期间在用户声明中添加所有必需信息,而不是数据库命中,并在下次调用期间从声明中检索它们。这将是获取常用用户信息的最快方法,同时我们避免任何数据库调用。您可以查看一些声明帮助方法Github link