在控制器中获取 ApplicationUser 对象
Posted
技术标签:
【中文标题】在控制器中获取 ApplicationUser 对象【英文标题】:Getting the ApplicationUser object in a controller 【发布时间】:2014-09-03 09:09:48 【问题描述】:我正在编写一个 C# MVC5 互联网应用程序,在我创建的控制器中获取 ApplicationUser
对象时遇到了一些问题。
这是我的代码:
var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext()));
ApplicationUser user = userManager.FindByNameAsync(User.Identity.GetUserId()).Result;
当我尝试运行此代码时,当用户登录时,我得到ApplicationUser
用户的空对象。
我可以帮忙吗?
提前致谢
【问题讨论】:
【参考方案1】:FindByNameAsync()
需要用户名,但您传递的是用户 ID。要么传递用户名...
ApplicationUser user = userManager.FindByNameAsync(User.Identity.GetUserName()).Result;
或者使用FindByIdAsync()
方法...
ApplicationUser user = userManager.FindByIdAsync(User.Identity.GetUserId()).Result;
【讨论】:
以上是关于在控制器中获取 ApplicationUser 对象的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET MVC 5 - 身份。如何获取当前的ApplicationUser
从 asp.net 核心标识中获取 applicationuser 的属性
ASP.NET MVC 如何使用 ApplicationUser 和其他域类之间的多对多关系
Identity 2.0.0 中的 ApplicationUser 和 ApplicationRole 导航属性