Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用电子邮件身份核心登录_C#_Asp.net Core_Asp.net Identity - Fatal编程技术网

C# 使用电子邮件身份核心登录

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

我希望能够通过电子邮件登录到我的网站,但它似乎设置了标识,以便signInManager接受用户名而不是电子邮件登录。我看到过一些帖子,他们使用
FindByEmail()
获取用户名,然后将其传递给我,但当我尝试使用它时,我会看到一个红色的歪歪扭扭地说

“UserManager不包含'FindByEmail'的定义,并且没有可访问的扩展方法'FindByEmail'接受'UserManager类型的第一个参数。”

我想这是因为我使用的是Asp.Net核心而不是Asp.Net

公共异步任务登录(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)

您可以将电子邮件放在用户名和电子邮件字段中,然后您可以用于登录。您可以将电子邮件放在用户名和电子邮件字段中,然后您可以用于登录。