我在資料庫里有一個用戶,hash密碼就保存在那里,為什么登錄的時候登錄不了?
if (ModelState.IsValid)
{
var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, false);
if (result.Succeeded)
{
return RedirectToAction("Privacy", "Home");
}
}
builder.Entity<User>()
.HasData(new User
{
FirstName = "Andrij",
LastName = "Matviiv",
Email = "[email protected]",
PasswordHash = hasher.HashPassword(null, "Andrew13mtv@")
};
即使我輸入正確,此操作方法也不起作用,如何解決?
uj5u.com熱心網友回復:
因為 PasswordSignInAsync 方法將用戶名作為第一個引數,并且您正在傳遞電子郵件。嘗試提供用戶名。
public virtual System.Threading.Tasks.Task<Microsoft.AspNetCore.Identity.SignInResult> PasswordSignInAsync (string userName, string password, bool isPersistent, bool lockoutOnFailure)
供參考點擊
如果你想用電子郵件登錄試試這個點擊
更新
還有一件事嘗試在第一個引數中指定用戶
User user = new User
{
FirstName = "Andrij",
LastName = "Matviiv",
Email = "[email protected]",
};
var hashedPassword = hasher.HashPassword(user, "Andrew13mtv@");
user.PasswordHash = hashedPassword;
builder.Entity<User>()
.HasData(user);
如果在將用戶作為引數傳遞后問題仍然存在,請嘗試上述使用用戶名登錄的方法,否則嘗試將默認登錄方法更改為電子郵件。點擊
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/530632.html
標籤:asp.net-mvc实体框架asp.net 核心asp.net 身份
上一篇:物體框架System.ArgumentNullException
下一篇:如何將csv轉換為json
