Asp.net

如何控制 MembershipUser.ResetPassword() 格式

  • June 12, 2012

是否可以控制通過呼叫 MembershipUser.ResetPassword() 自動生成的密碼格式?

我希望能夠在生成的密碼中允許或不允許某些特殊字元。

我正在使用密碼格式為 Hashed 的 SqlMembershipProvider。

謝謝。

您可能希望分兩步執行此操作,正如 Mark Fitzpatrick 在此處確定的那樣:http: //bytes.com/groups/net-asp/689452-how-reset-users-password-without-having-use-passwordrecovery#post2740740

首先重置密碼,然後立即將其更改為您喜歡的格式。顯然,不建議使用 Mark 範例中的固定字元串 - 您需要實現一些隨機字元串生成器

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

今天,您還可以使用該Membership.GeneratePassword方法並傳遞一個MinRequiredPasswordLength或使用 Web.config 中已經定義的屬性,如下所示:

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

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

引用自:https://stackoverflow.com/questions/426888