c# - 获取分配给单个用户的数据

标签 c# asp.net asp.net-mvc asp.net-mvc-4 asp.net-identity

我第一次使用 ASP.NET MVC/Web API 构建一个应用程序,该应用程序具有多个用户帐户,其中“UserId”、“AccountId”、“ClientId”和“EventId”作为标识字段。我能够登录用户,检索 UserId,但我不知道如何根据登录用户获取 AccountId、ClientId 和 EventId。

object id = User.Identity.GetUserId();
ViewData["Id"] = id;

关于这个问题,我到处寻求帮助。我认为这会很简单,但我还没有找到答案。谢谢!

最佳答案

如果您已经派生了标准的IdentityUser,您可以按如下方式进行:

// Create manager
 var manager = new UserManager<ApplicationUser>(
    new UserStore<ApplicationUser>(
        new ApplicationDbContext()))

// Find user
var user = manager.FindById(User.Identity.GetUserId());
var accountId = user.AccountId;

这里我假设你使用了名称 ApplicationUser;

所以假设你的类(class)是这样的:

public class ApplicationUser : IdentityUser
{
      public int AccountId{ get; set; }
      public int ClientId{ get; set; }
      // etc
}

关于c# - 获取分配给单个用户的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32076072/

相关文章:

c# - C# default 关键字在 F# 中的等价物是什么?

c# - 无法调用属性来访问资源

asp.net - asp.net 中的 Paypal 表单标记问题

c# - 访问该路径被拒绝

c# - 方法上的多个授权属性

javascript - 为什么 Ajax 调用没有被命中?

c# - 支持 iOS Mobile Web - 陷入文件预览

c# - .NET 框图组件

c# - 分配和删除 session key 时会发生什么?

javascript - Google 热图仅显示一处