Я использую C # в приложении Winforms, и у меня есть Identity, подключенный к тому месту, где я могу найти пользователей в базе данных.У меня есть простая форма входа, которую я не могу получить.Я могу найти пользователя, но не могу подтвердить его с помощью пароля.У меня есть текстовое поле «Имя пользователя» и одно для пароля, кнопки и метки для отображения результата.Вот мой код:
private async void LoginButton_ClickAsync(object sender, EventArgs e)
{
if (!String.IsNullOrEmpty(Username.Text) &&
!String.IsNullOrEmpty(Password.Text))
{
var context = new MyDbContext();
var userManager = new UserManager<ApplicationUser>(new
UserStore<ApplicationUser>(context));
//THIS SUCCESSFULLY FINDS THE USER
ApplicationUser user = await userManager.FindByEmailAsync(UxUsername.Text);
if (user == null)
{
ResultLabel.Text = "NOT FOUND";
}
if (userManager.PasswordHasher.VerifyHashedPassword(user.PasswordHash, Password.Text)
!= PasswordVerificationResult.Failed)
{
ResultLabel.Text = "MATCH FOR USER AND PASSWORD!";
}
ResultLabel.Text = "NOT FOUND";
}
}
Я также пробовал это, и я даже не мог вернуть пользователя - он был нулевым:
ApplicationUser user = await userManager.FindAsync(Username.Text, Password.Text);
Я использую эту же базу данных дляПриложение MVC, и я просто вхожу в систему с теми же точными учетными данными.
Спасибо.