Мне нужна помощь с помощью элемента управления 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>
Привет большое спасибо за ваш ответ. Есть ли документация Microsoft, в которой также указано ваше утверждение, что все пароли должны быть хэшированными, ясными или зашифрованными? – 2009-07-01 13:17:07
Я еще не встретил одного, и я не думаю, что он может даже существовать. У провайдера будет свой собственный механизм для чтения и записи паролей. Поэтому, если он настроен на выполнение в хешированном режиме, он не будет соответствовать режиму очистки. Речь идет не о том, что она может это сделать, или нет, просто просто умея читать-писать из db, не служит цели, потому что db не знает формат. –