2009-07-01 10 views
0

.net 2.0でPasswordRecoveryコントロールを使用する際に助けが必要です。私の状況は、アプリケーションがハッシュドにパスワード形式を保存することからクリアに変更されたことです。MembershipProviderとPasswordRecoveryコントロール

問題は、新しく作成されたユーザーにクリアパスワードが保存されており、まだハッシュパスワードを持つユーザーがいることです。まだパスワードがハッシュされているユーザーに対して、以下のようなpasswordRecoveryコントロールを使用すると、 'PasswordFormat'フィールドは、ハッシュされたパスワードを持つ以前のユーザーに対して 'クリア'に変更されません。

<asp:PasswordRecovery MailDefinition-BodyFileName="/mailTemplates/changePassword.htm" MailDefinition-From="[email protected]" MailDefinition-Subject="Test" CssClass="noLines" ID="PasswordRecovery1" UserNameTitleText="" UserNameInstructionText="Enter User name and a new passord will be generated and mailed to the user" runat="server" SuccessText="Your password has been sent to your registered email address." SubmitButtonStyle-CssClass="button" 
    onsendingmail="PasswordRecovery1_SendingMail" MembershipProvider="AspNetSqlMembershipProviderF0005600"> 
    </asp:PasswordRecovery> 

<membership> 
    <providers> 
    <remove name="AspNetSqlMembershipProviderF0005600"/> 
    <add name="AspNetSqlMembershipProviderF0005600" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" applicationName="/" requiresUniqueEmail="false" minRequiredPasswordLength="1" minRequiredNonalphanumericCharacters="0" passwordFormat="Clear" maxInvalidPasswordAttempts="5" passwordAttemptWindow="10" passwordStrengthRegularExpression=""/> 
    </providers> 
</membership> 

(再投稿の場合は事前にお詫びください)

+0

質問を再投稿しないでください。古い質問を編集または更新して、それを有効にしておきます。 – womp

答えて

1

簡単な答えは、メンバーシップストアドプロシージャを使用して、ハッシュパスワードを持つユーザーのためにこれを変更する必要があるということです。パスワードはハッシュされているので、ハッシュアルゴリズムを破ることを除いて、決して回復されません。

http://mishler.net/PermaLink,guid,ea65afc0-2970-46f1-9412-4b57bbd906f4.aspxを参照してください。記事の末尾にある「パスワードフォーマットの変更」セクションまでスクロールします。

リカバリページでは、ストアドプロシージャを実行してフォーマットを検索し、ユーザーがリカバリの使用を決定したときにパスワードとフォーマットの両方を変更できます。しかし、より積極的にすることができ、すべてのハッシュユーザーのパスワードを変更し、パスワードをリセットした電子メールを使用することができます。

関連する問題