我首次使用ASP.NET MVC / Web API构建应用程序,该API具有多个用户帐户,其中“UserId”,“AccountId”,“ClientId”和“EventId”作为标识字段。我能够登录用户,检索UserId,但我无法弄清楚如何根据登录用户获取AccountId,ClientId和EventId。
object id = User.Identity.GetUserId();
ViewData["Id"] = id;
我到处寻找有关此问题的帮助。我认为这很简单,但我还没有找到答案。谢谢!
答案 0 :(得分:2)
如果你已经推导出标准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
;
所以假设你的班级是这样的:
public class ApplicationUser : IdentityUser
{
public int AccountId{ get; set; }
public int ClientId{ get; set; }
// etc
}