C# 使用电子邮件身份核心登录
我希望能够通过电子邮件登录到我的网站,但它似乎设置了标识,以便signInManager接受用户名而不是电子邮件登录。我看到过一些帖子,他们使用C# 使用电子邮件身份核心登录,c#,asp.net-core,asp.net-identity,C#,Asp.net Core,Asp.net Identity,我希望能够通过电子邮件登录到我的网站,但它似乎设置了标识,以便signInManager接受用户名而不是电子邮件登录。我看到过一些帖子,他们使用FindByEmail()获取用户名,然后将其传递给我,但当我尝试使用它时,我会看到一个红色的歪歪扭扭地说 “UserManager不包含'FindByEmail'的定义,并且没有可访问的扩展方法'FindByEmail'接受'UserManager类型的第一个参数。” 我想这是因为我使用的是Asp.Net核心而不是Asp.Net 公共异步任务登录(Lo
FindByEmail()
获取用户名,然后将其传递给我,但当我尝试使用它时,我会看到一个红色的歪歪扭扭地说
“UserManager公共异步任务登录(LoginModel模型)
{
if(ModelState.IsValid)
{
var signedUser=userManager.FindByEmail(model.Email);
var result=await-signInManager.PasswordSignInAsync(signedUser,model.Password,model.RememberMe,false);
if(result.successed)
{
返回重定向Topage(“/索引”);
}
AddModelError(string.Empty,“无效的电子邮件或密码”);
}
返回视图(“Pages/Account/Login.cshtml”,model);
}
基于,没有方法FindByEmail
。只有findbyemailsync
存在。因此,将代码更改为如下所示
var signedUser=await userManager.findbyemailsync(model.Email)代码>基于,没有方法查找Yemail
。只有findbyemailsync
存在。因此,将代码更改为如下所示
var signedUser=await userManager.findbyemailsync(model.Email)代码>您可以将电子邮件放在用户名和电子邮件字段中,然后您可以用于登录。您可以将电子邮件放在用户名和电子邮件字段中,然后您可以用于登录。