在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;
}
}
}
Identity v2获取用户的最佳方式是使用UserManager
对象。
var user = userManager.FindById(user.Identity.GetUserId());
我们应该在身份验证期间在用户声明中添加所有必需的信息,并在下次调用时从声明中检索这些信息,而不是数据库命中。这将是获取常用用户信息的最快方法,同时我们可以避免任何数据库调用。您可以查看一些索赔助手方法Github链接