我开始在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!