초기 데이터가있는 DB를 시드하려고하는데 다음 코드를 사용하여 사용자를 생성하고 있습니다. 사용자가 만들어지고 암호가 해시되는 등의 문제가 발생하지만 암호로 로그인하려고하면 오류 메시지 (Invalid login attempt
)로 로그인하지 못합니다. 내가 도대체 뭘 잘못하고있는 겁니까? 나는 asp.net 코어 mvc 응용 프로그램을 ID 템플릿이 아닌 사용자 정의 로그인으로 사용하고 있습니다. DB에서 NormalizedUserName
필드가 null로 로그인시, 다음과 같은 쿼리 (실패한) 발행되기 때문에asp.net 코어 mvc에서 dbContext를 통해 생성 된 사용자로 로그인 할 수 없습니다
var mymail = "[email protected]";
var mypw = "Test1.";
var applicationUsers = new ApplicationUser[]
{
new ApplicationUser {
UserName = Constants.AnonUserName,
Email = "[email protected]"
},
new ApplicationUser {
UserName = mymail,
Email = mymail
}
};
var pwHasher = new PasswordHasher<ApplicationUser>();
applicationUsers.ToList().ForEach(u =>
{
u.PasswordHash = pwHasher.HashPassword(u, mypw);
context.ApplicationUsers.Add(u);
});
context.SaveChanges();
무엇이'nihatpw'입니까? 또한 '나를 기록하지 못한다'는 의미는 무엇입니까? 디버깅 중에 무엇을 관찰 했습니까? 예외? 암호 불일치? 다른 것? – Igor
방금 값을 추가했습니다. 로그인 시도가 잘못되었습니다. 나는 asp.net 신원이 나의 것보다 다른 종류의 해싱을 사용한다고 생각했다. (글쎄, 나는 Microsoft.AspNetCore.Identity UserManager의 소스 코드를 검사했고 동일하다.) – Nihat
중단 점을 사용하여 디버깅을 시도하고 해쉬 된 암호 값을보고 있는가? 그들은 동일하니? – Rafalon