在ASP.NET Identity中获取当前用户的快速方法



在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链接

相关内容

  • 没有找到相关文章