Identity 2.0问题 - MVC 5

时间:2017-07-28 13:34:24

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

我开始在ASP .NET MVC 5中使用Identity,我已经有了一些问题

1)“Identity_UserId”列的功能是什么。在出现的所有表中(UserRoles,UserLogins和UserClaims),它始终为“NULL”。 它与Users表具有FK关系。

https://user-images.githubusercontent.com/11781418/28696307-2c65235c-730b-11e7-8593-530f87c03ba2.JPG

2)为什么等待UserManager.GetLoginsAsync(User.Identity.GetUserId());总是返回0?我有一个注册用户,我把它链接到两个外部帐户(Facebook和谷歌)

    public async Task<ActionResult> ManageLogins(ManageMessageId? message)
    {
        ViewBag.StatusMessage =
            message == ManageMessageId.RemoveLoginSuccess ? "The external login was removed."
            : message == ManageMessageId.Error ? "An error has occurred."
            : "";
        var user = await UserManager.FindByIdAsync(User.Identity.GetUserId());
        if (user == null)
        {
            return View("Error");
        }
        var userLogins = await UserManager.GetLoginsAsync(User.Identity.GetUserId());
        var otherLogins = AuthenticationManager.GetExternalAuthenticationTypes().Where(auth => userLogins.All(ul => auth.AuthenticationType != ul.LoginProvider)).ToList();
        ViewBag.ShowRemoveButton = user.PasswordHash != null || userLogins.Count > 1;
        return View(new ManageLoginsViewModel
        {
            CurrentLogins = userLogins,
            OtherLogins = otherLogins
        });
    }

https://user-images.githubusercontent.com/11781418/28696311-3163ccbe-730b-11e7-86bc-f611b6998fbd.JPG

THX!

0 个答案:

没有答案