gpt4 book ai didi

asp.net-mvc - ASP.NET MVC 通过电子邮件而不是用户名登录

转载 作者:行者123 更新时间:2023-12-02 08:26:38 24 4
gpt4 key购买 nike

我尝试通过“个人用户帐户”使用 MVC 5 和 OWIN 创建新项目。问题是当我注册一个新帐户时,系统要求我输入一封电子邮件,然后该电子邮件将被填充到数据库中的电子邮件和用户名中。当我尝试登录时,系统要求我输入电子邮件,但它会将电子邮件与 用户名 列进行比较。所以 Email 和 Username 的值是一样的。下面的登录代码正在运行登录(帐户 Controller )

var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);

有什么方法可以将输入的电子邮件与电子邮件列而不是用户名进行比较?

最佳答案

回答:

Is there any ways to compare the inputted email with the Email column instead of Username?

这可能不是最佳答案,但 SignInManager 应该可以访问具有 Users 属性的 UserManager。因此,您可以根据电子邮件查找用户,然后使用结果调用登录方法。

像这样(未经测试):

var user = SignInManager.UserManage.Users.Where(u => u.email == model.Email).FirstOrDefault();
var result = await SignInManager.PasswordSignInAsync(user.UserName, model.Password, model.RememberMe, shouldLockout: false);

您需要检查是否填充了用户,否则会返回无效的登录详细信息错误。与 PasswordSignInAsync 失败相同。

关于asp.net-mvc - ASP.NET MVC 通过电子邮件而不是用户名登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33675750/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com