UserManager.FindAsync
总是找到一个匹配的,即使我输入了错误的用户名和密码,它总是返回某种类型的userID。
[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
}
}
发布于 2016-05-05 12:01:06
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
}
}
查看本参考,了解有关使用ASP.NET MVC进行异步编程的更多信息。
https://stackoverflow.com/questions/37049992
复制相似问题