[英]PasswordSignInAsync() doesn't return any result
我的代碼為結果返回 null,為 result.success 返回 false。
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Login(LoginViewModel model)
{
if (ModelState.IsValid)
{
Microsoft.AspNetCore.Identity.SignInResult result = await _signInManager.PasswordSignInAsync(model.UserName, model.Password, true, lockoutOnFailure: false);
if (result.Succeeded)
{
return Redirect("~/AdminArea/UserManager/Index");
}
else
{
ModelState.AddModelError("Password", "The user name or pasword is wrong.");
return View(model);
}
}
return View(model);
}
}
還需要在我的 Startup.cs 中確認 email 設置為 false,例如:
services.Configure<IdentityOptions>(options => options.SignIn.RequireConfirmedEmail=false);
使用帶有身份的 ASP.NET Core 3.1。 請幫我找出問題。 提前致謝。
您可以先檢查很多事情:
之后,是否可以實現以下代碼:
var result = await _signInManager.PasswordSignInAsync(Input.Email, Input.Password, Input.RememberMe, lockoutOnFailure: false);
if (result.Succeeded)
{
_logger.LogInformation("User logged in.");
return LocalRedirect(returnUrl);
}
if (result.RequiresTwoFactor)
{
return RedirectToPage("./LoginWith2fa", new { ReturnUrl = returnUrl, RememberMe = Input.RememberMe });
}
if (result.IsLockedOut)
{
_logger.LogWarning("User account locked out.");
return RedirectToPage("./Lockout");
}
else
{
ModelState.AddModelError(string.Empty, "An error occured");
return Page();
}
問候。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.