gpt4 book ai didi

C#:UserManager.FindAsync 总能找到匹配项

转载 作者:行者123 更新时间:2023-11-30 21:49:18 24 4
gpt4 key购买 nike

UserManager.FindAsync 总能找到匹配项,即使我输入了错误的用户名和密码,它也总是会返回某种用户 ID。

[HttpPost]
public ActionResult Mobilelogin(LoginViewModel model)
{
var user = UserManager.FindAsync(model.Email, model.Password);
if (user != null)
{
return new HttpStatusCodeResult(201); // user found
}
else
{
return new HttpStatusCodeResult(401); // user not found
}
}

最佳答案

FindAsync 返回 Task<TUser> .如果您同步使用它(就像您现在所做的那样),您将始终获得 Task本身不为空。

您需要异步等待任务以获取结果(TUser),如下所示:

[HttpPost]
public async Task<ActionResult> Mobilelogin(LoginViewModel model)
{
var user = await UserManager.FindAsync(model.Email, model.Password);
if (user != null)
{
return new HttpStatusCodeResult(201); // user found
}
else
{
return new HttpStatusCodeResult(401); // user not found
}
}

看看this reference有关使用 ASP.NET MVC 进行异步编程的更多信息。

关于C#:UserManager.FindAsync 总能找到匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37049992/

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