SQLMemberShipProvider를 사용하고 있습니다.암호 변경 후 MembershipProvider 유효성 검사가 실패합니다.
사용자 이름과 암호를 입력하면 다음 코드가 membershipProvider.ValidateUser(myUserName, myPassword)
으로 실행되고 사용자가 유효 함을 나타내는 true
을 반환합니다.
var username = membershipProvider.GetUser(myUserName, false);
username.ChangePassword(username.ResetPassword(), newPassword);
을 다음 다시 membershipProvider.ValidateUser(myUserName, newPassword)
을 실행하지만 이번에는 검증이 실패합니다.
ValidateUser
두 호출에 동일한 공급자를 사용하고 있으므로이 내용을 이해하지 못합니다. 원래 비밀번호가 더 이상 유효하지 않으므로 비밀번호가 변경된 것으로 보입니다.
암호 형식은 해시이고 IsLocked는 false이며 IsApproved는 true입니다.
안녕하세요 Abhishek, enablePasswordReset이 true로 설정되었습니다. – p0enkie
이것은 PEBKAC 문제 였지만 사용 된 새 암호가 공급자에서 설정 한 암호 정규 표현식을 준수하지 않아 유효성 검사에 실패했습니다. 이 암호를 Regex를 만족시키는 것으로 변경하면 예상대로 작동합니다. – p0enkie