Authentication 在MVC中改变登录方式

Authentication 在MVC中改变登录方式,authentication,model-view-controller,asp.net-identity,Authentication,Model View Controller,Asp.net Identity,我构建了一个使用用户名和密码登录的MVC应用程序。后来我决定用电子邮件地址代替用户名。我更改了模型、登录视图和控制器中的必填字段 在Login.cshtml中 @Html.TextBoxFor(i => i.Email, new { @placeholder="Email adresi" }) 在LoginModel中 [Required(ErrorMessage = "Mail adresinizi yazınız.")] public string Email { get; set;

我构建了一个使用用户名和密码登录的MVC应用程序。后来我决定用电子邮件地址代替用户名。我更改了模型、登录视图和控制器中的必填字段

在Login.cshtml中

@Html.TextBoxFor(i => i.Email, new { @placeholder="Email adresi" })
在LoginModel中

[Required(ErrorMessage = "Mail adresinizi yazınız.")]
public string Email { get; set; }
内部会计控制员

 var user = userManager.Find(model.Email, model.Password);

当我尝试用电子邮件和密码登录时,它失败了。我还可以用用户名和密码登录。还有其他字段需要更改吗?

嗨,塔纳·奥泽尔,欢迎来到StackOverflow!您是否已更新userManager中的条目以包含电子邮件地址和密码?您似乎仍然有用户名/密码组合的记录。谢谢DBX12。我想我是通过在AccountController中的登录操作中更改这一行来实现的;var user=userManager.Find(model.Email、model.Password);这不是我们要做的吗?不完全是。我不确定您的userManager是如何工作的,但我假设它是一个访问某种数据库的对象。假设该表有两列“email”和“password”。现在,如果您如前所述更改userManager的逻辑,则必须重命名这些列(以前在旧登录系统中命名为“username”和“password”)。此外,您还必须更新数据库中的数据以保存电子邮件,而不是用户名。如果数据库中的旧用户有密码为foo的john.doe,则应更新为john。doe@example.org使用密码foo。长话短说:您尝试使用的登录数据是否实际存在于数据库中?是的,我的数据库中同时有用户名和密码。我可以毫无问题地存储和访问它们。嗨,塔纳·奥泽尔,欢迎来到StackOverflow!您是否已更新userManager中的条目以包含电子邮件地址和密码?您似乎仍然有用户名/密码组合的记录。谢谢DBX12。我想我是通过在AccountController中的登录操作中更改这一行来实现的;var user=userManager.Find(model.Email、model.Password);这不是我们要做的吗?不完全是。我不确定您的userManager是如何工作的,但我假设它是一个访问某种数据库的对象。假设该表有两列“email”和“password”。现在,如果您如前所述更改userManager的逻辑,则必须重命名这些列(以前在旧登录系统中命名为“username”和“password”)。此外,您还必须更新数据库中的数据以保存电子邮件,而不是用户名。如果数据库中的旧用户有密码为foo的john.doe,则应更新为john。doe@example.org使用密码foo。长话短说:您尝试使用的登录数据是否实际存在于数据库中?是的,我的数据库中同时有用户名和密码。我可以毫无问题地存储和访问它们。