현재 MVC 3 응용 프로그램이있어 사용자가 암호를 잊었을 때 보안 응답이 정확해야합니다.MVC 3 회원 서비스 resetpass 문제
그러나 시스템 관리자가 보안 응답을 알지 못해도 모든 사용자의 암호를 재설정 할 수 있기를 바랍니다.
가능한 해결책은 무엇입니까?
현재 MVC 3 응용 프로그램이있어 사용자가 암호를 잊었을 때 보안 응답이 정확해야합니다.MVC 3 회원 서비스 resetpass 문제
그러나 시스템 관리자가 보안 응답을 알지 못해도 모든 사용자의 암호를 재설정 할 수 있기를 바랍니다.
가능한 해결책은 무엇입니까?
두 가지 다른 공급자를 사용하여이 솔루션을 완성했습니다.
<membership>
<providers>
<clear/>
<add name="ProviderRequiredAnswer" .......
enablePasswordReset="true" requiresQuestionAndAnswer="true" ...... />
<add name="ProviderNoRequiredAnswer" ......
enablePasswordReset="true" requiresQuestionAndAnswer="false" ...... />
</providers>
</membership>
일반 사용자가 비밀번호를 잊어 재설정 할 필요가, 나에 의해 처음 공급자를 사용하여 사용자를 얻을 것이다 : 두 업체는 응용 프로그램의 Web.Config 파일에 추가 된
MembershipUser 사용자 = Membership.Providers [ "ProviderRequiredAnswer"] .GetUser (model.userToReset, false);
문자열 autoGenPass = userToReset.ResetPassword (model.PasswordAnswer);
bool resetPasswordSucceeded = userToReset.ChangePassword (autoGenPass, model.NewPassword);
MembershipUser 사용자 = 회원 : 보안 응답이없는 시스템 관리자는 사용자의 암호를 재설정 할 필요가있는 경우 반면에
는 내가하여 두 번째 공급자를 사용하여 사용자를 얻을 것이다. 공급자 [ " ProviderNoRequiredAnswer"] .GetUser (model.userToReset, false);문자열 autoGenPass = userToReset.ResetPassword();
bool resetPasswordSucceeded = userToReset.ChangePassword (autoGenPass, model.NewPassword);
그것은 흥미로운 해결책입니다. 나는 당신이 그런 여러 공급자를 사용할 수 있다는 것을 몰랐습니다. –
현재 가지고있는 코드를 표시 할 수 있습니까? 관리자 페이지와 관련하여 어떤 설정을 했습니까? 자세한 내용은 도움이 될 것입니다. – danseery