【问题标题】:How to save custom user to User Identity in Asp.NET MVC 5如何在 Asp.NET MVC 5 中将自定义用户保存到用户身份
【发布时间】:2015-02-06 06:08:28
【问题描述】:

我的数据库中保存了用户,我正在使用 Entity Framework 6 检索存储库中的用户。我正在使用 MVC 5。

存储登录的用户信息(如用户 ID、电子邮件等)的最佳方式是什么。

使用会话变量或User.Identity?

[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public ActionResult Login(LoginViewModel model)
{
    if (ModelState.IsValid)
    {

        var user = _uow.UserRepository.FindLogin(model.Email, model.Password);
        if (user != null)
        {
            _uow.UserRepository.UpdateLastLoginDate(user);                    
            _uow.SaveChanges();

            return RedirectToAction("Index", "Administrator");

        }
        else
        {
            ModelState.AddModelError("", "Invalid Email Address or Password.");
        }
    }

    return View(model);
}

【问题讨论】:

    标签: c# asp.net-mvc entity-framework


    【解决方案1】:

    您不会将这些信息存储在 Session 中。首先,您需要使用此处描述的 AuthenticationManager.SignIn 方法 - http://www.asp.net/identity/overview/getting-started/introduction-to-aspnet-identity。然后您可以使用 .GetUserId() 扩展方法从 Identity 对象中提取用户 ID,如下所示:

    User.Identity.GetUserId()
    

    然后您可以使用此 ID 从 UserManager 请求用户信息。如果您只需要 UserName,您可以使用 GetUserName 扩展方法并直接从 Identity 对象中提取它。

    【讨论】:

      猜你喜欢
      • 2017-09-14
      • 1970-01-01
      • 2016-03-06
      • 1970-01-01
      • 1970-01-01
      • 2017-06-16
      • 1970-01-01
      • 1970-01-01
      • 2014-01-06
      相关资源
      最近更新 更多