【问题标题】:How do you obtain user profile values in ASP.NET Identity 2 of current user?如何获取当前用户的 ASP.NET Identity 2 中的用户配置文件值?
【发布时间】:2014-04-23 09:02:30
【问题描述】:

在 MVC5 应用程序中,如何从 AspNetUsers 表中获取当前用户的值?

例如:默认字段之一是 PhoneNumber。如何获取当前登录用户的电话号码?

我正在使用身份 2...

【问题讨论】:

    标签: c# asp.net asp.net-identity asp.net-identity-2


    【解决方案1】:

    您需要从 Entity Framework 获取 IdentityUser 对象(可能是您的应用程序中的 ApplicationUser 之类的后代)。有很多方法可以做到这一点,这取决于你在哪里等等。但是,例如,如果您想在控制器中执行此操作,您可以使用 User 属性访问当前登录的用户,您可以像这样使用 UserManager<TUser>.FindById()

    // UserManager here is an instance of UserManager<ApplicationUser>
    var user = await UserManager.FindByIdAsync(User.Identity.GetUserId());
    var number = user.PhoneNumber;
    

    【讨论】:

    • 请回复。大约一个小时前修复它,使用类似于您的方法的代码: var manager = new UserManager(new UserStore(new ApplicationDbContext())); //获取用户对象 var currentUser = manager.FindById(User.Identity.GetUserId());
    • 您可能希望将其包装在 using 语句中,因为您想在请求结束时处理 DbContexts。
    猜你喜欢
    • 2016-12-09
    • 1970-01-01
    • 2014-05-02
    • 1970-01-01
    • 2019-04-07
    • 2016-10-04
    • 2018-10-03
    • 1970-01-01
    • 2021-06-01
    相关资源
    最近更新 更多