Я создал собственный IdentityUser. Я могу звонить _userManager.FindByNameAsync
каждый раз, и он возвращает данные пользователя. После этого, если я позвоню _userManager.CheckPasswordASync
, он всегда возвращает false Это странно работает в моей локальной разработке, но не при развертывании на веб-сервере.
пользовательский класс пользователя:
public class CustomUser : IdentityUser
{
public string FistName { get; set; }
public string LastName { get; set; }
}
Служба регистрации:
services.AddIdentity<CustomUser, IdentityRole>(
option =>
{
option.Password.RequireDigit = false;
option.Password.RequiredLength = 6;
option.Password.RequireNonAlphanumeric = false;
option.Password.RequireUppercase = false;
option.Password.RequireLowercase = false;
option.SignIn.RequireConfirmedEmail = true;
}
).AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
Класс входа в систему:
[Route("login")]
[HttpPost]
public async Task<ActionResult> Login([FromBody] LoginViewModel model)
{
var user = await _userManager.FindByNameAsync(model.Username);
var test = await _userManager.CheckPasswordAsync(user, model.Password);
return Ok(test);
}