2009-07-01 3 views
0

Мне нужна помощь с помощью элемента управления PasswordRecovery в .net 2.0. Моя ситуация заключается в том, что приложение изменилось с хранения пароля в Hashed до Clear.Элемент управления MembershipProvider и PasswordRecovery

Проблема заключается в том, что недавно созданные пользователи имеют четкий пароль, и все еще есть пользователи с хешированными паролями. Когда я использую элемент управления PasswordRecovery, как показано ниже, для пользователей, у которых все еще есть хешированный пароль, поле «ПарольФормат» НЕ изменено для «очистки» для предыдущих пользователей с хешированными паролями.

<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. Перейдите к разделу «Изменение формата пароля» в конце статьи.

На странице восстановления вы можете запустить хранимую процедуру, чтобы найти формат и изменить как пароль, так и формат, когда пользователь решает использовать восстановление. Но вы можете быть более активными и изменять все пользовательские пароли хеширования и отправлять их по электронной почте, чтобы их пароли были сброшены.

 Смежные вопросы

  • Нет связанных вопросов^_^