2011-04-06 5 views

답변

5

의 Web.configrequiresQuestionAndAnswer="true"을 가지고있는 회원 업체 ("AspNetSqlMembershipProvider에")를 가정하면, requiresQuestionAndAnswer="false"을 제외하고 동일한 설정을 모두와 함께 (예 : "AspNetSqlMembershipProviderAdministrativeReset"등) 둘째 제공합니다. 관리에서

var provider = Membership.Providers["AspNetSqlMembershipProviderAdministrativeReset"] as MembershipProvider; 
var newPassword = provider.ResetPassword(userName, null /* answer */); 
1

:

그럼 당신은 명시 적으로 다음 코드에서와 같이 관리자가 보안 질문에 대한 정확한 답을 요구하지 않고 암호를 재설정 할 수 있도록 두 번째 공급자를 사용하는 작업을 만들 수 있습니다 귀하의 사이트에 페이지는, 당신은 단순히 먼저 사용자의 보류를 얻어서 암호를 재설정 할 수 있습니다 : 당신은 지금 'NEWPASSWORD'에서 자동으로 생성 된 암호가 있습니다

// Assume user name is 'theuser'. Obviously you would get this beforehand 
MembershipUser user = Membership.GetUser("theuser"); 
string newPassword = user.ResetPassword(); 

. 이 이메일을 사용자에게 보낼 수 있습니다.

다른 방법으로도이를 수행 할 수 있습니다. 회원 데이터베이스는 꽤 넓게 열려 있으므로 원하는 새 비밀번호를 직접 입력하고 해시 된 값을 입력 시스템에 입력 할 수 있습니다. 자세한 내용이 필요하면 의견을 말하십시오. 그것은 어렵지 않아도됩니다.

관련 문제