获取控制器中的ApplicationUser对象

本文关键字:ApplicationUser 对象 控制器 获取 | 更新日期: 2023-09-27 18:12:44

我正在编写一个c# MVC5互联网应用程序,并且在我创建的控制器中获得ApplicationUser对象时遇到了一些麻烦。

下面是我的代码:
var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext()));
ApplicationUser user = userManager.FindByNameAsync(User.Identity.GetUserId()).Result;

当我尝试运行此代码时,当用户登录时,我将获得ApplicationUser用户的空对象。

请帮我一下好吗?

Thanks in advance

获取控制器中的ApplicationUser对象

FindByNameAsync()期望用户名,但您正在传递用户id。传递用户名…

ApplicationUser user = userManager.FindByNameAsync(User.Identity.GetUserName()).Result;

或使用FindByIdAsync()方法…

ApplicationUser user = userManager.FindByIdAsync(User.Identity.GetUserId()).Result;