目前,我有一個MVC 3應用程序,它需要安全答案是正確的,當用戶忘記密碼。MVC 3會員服務resetpassword問題
不過,我希望有一個系統管理員能夠重置所有用戶的密碼,不知道安全答案。
這個任何可能的解決方案?
目前,我有一個MVC 3應用程序,它需要安全答案是正確的,當用戶忘記密碼。MVC 3會員服務resetpassword問題
不過,我希望有一個系統管理員能夠重置所有用戶的密碼,不知道安全答案。
這個任何可能的解決方案?
我結束了使用兩個不同的供應商爲這個解決方案。 兩個供應商被添加到應用程序的web.config文件:
<membership>
<providers>
<clear/>
<add name="ProviderRequiredAnswer" .......
enablePasswordReset="true" requiresQuestionAndAnswer="true" ...... />
<add name="ProviderNoRequiredAnswer" ......
enablePasswordReset="true" requiresQuestionAndAnswer="false" ...... />
</providers>
</membership>
當普通用戶忘記密碼,需要重置它,我會通過第一供應商獲得用戶:
用戶的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