문제

Membershipuser.resetpassword ()에 대한 호출에 의해 자동으로 생성되는 비밀번호 형식을 제어 할 수 있습니까?

생성 된 비밀번호에서 특정 특수 문자를 허용하거나 허용하지 않기를 원합니다.

비밀번호 형식의 해시 형식으로 sqlmembershipprovider를 사용하고 있습니다.

감사.

도움이 되었습니까?

해결책

이 기사를 살펴보십시오. sqlmembershipprovider에서 자율적 인 비밀번호 형식 변경.

SQLMembershipprovider를 해킹하여 덜 복잡한 암호를 생성하는 빠른 방법을 생각해 냈으며 SQLMembershipprovider에서 상속되는 새 공급자 클래스를 작성한 다음 GeneratePassword 메서드를 재정의하는 것만 큼 간단했습니다.

이것은 완전히 해결 된 솔루션이 아니지만 도움이 될 수 있습니다.

다른 팁

Mark Fitzpatrick에서 확인한대로 두 단계 로이 작업을 수행 할 수 있습니다. http://bytes.com/groups/net-asp/689452-how-reset-users-password-without-having-uswordrecovery#post2740740

먼저 비밀번호를 재설정 한 다음 즉시 좋아하는 형식으로 변경하십시오. 마크의 예에서와 같이 고정 문자열을 사용하는 것이 권장되지 않습니다. 임의의 문자열 생성기.

user.ChangePassword(user.ResetPassword(), MyMethodToGenerateRandomPassword());

오늘도 사용할 수도 있습니다 Membership.GeneratePassword 방법 및 통과 a MinRequiredPasswordLength또는 web.config에 이미 정의 된 속성을 사용하십시오.

  var newPassword =
                   // 0 = Number of non alphanumeric characters
                  Membership.GeneratePassword(Membership.MinRequiredPasswordLength, 0);

  user.ChangePassword(user.ResetPassword(), newPassword);

구성 설정이 사용할 수 있지만 내 상황에 대한 GeneratePassword () 메소드 작품을 재정의하기를 바랐습니다.

우리는 이미 임의의 암호 문자열을 생성하는 암호화 유틸리티 클래스를 가지고 있었기 때문에 매우 빠른 변화였습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top