0

После сброса пароля с помощью SqlMembership provider.I не удается войти в систему с новым паролем. Ниже приведена строка кода, используемая для сброса пароля для таблицы dbo.aspnet_Membership. Пароль зашифрован. Каждый раз, когда я возвращаю пароль, новое зашифрованное значение сохраняется внутри таблицы. Но не удалось войти.Не удалось войти в систему с новым паролем после сброса с использованием SqlMembership Provider

Моя установка WebConfig:

<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="15"> 
<providers> 
<clear /> 
<add name="SqlProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="xxxx" applicationName="xxxx" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="true" passwordFormat="Hashed" /> 
    </providers> 
</membership> 

C# код:

Membership user= Membership.GetUser(txtUser.Text); 
user.ResetPassword(txtNewPassword.Text); 

Может кто-нибудь помочь мне с this.Why я не могу до сих пор войти в систему с новым паролем?

ответ

1

ResetPassword на самом деле не функция, которую вы должны использовать для установки нового пароля пользователя. См:

http://msdn.microsoft.com/en-us/library/d94bdzz2(v=vs.110).aspx

ResetPassword для генерации нового случайного пароля (представьте забыл свой пароль канала связи). Конструктор, который вы используете (строка), не для пароля , он предназначен для ответа на секретный вопрос, если применимо.

Метод, который вы фактически должны использовать, - ChangePassword. См:

http://msdn.microsoft.com/en-us/library/system.web.security.membershipuser.changepassword(v=vs.110).aspx

Вы бы потреблять, что похожие на:

Membership user= Membership.GetUser(txtUser.Text); 
user.ChangePassword(oldPasswordString, txtNewPassword.Text); 
+0

Спасибо за ваш reply.bUt здесь проблема у меня нет пароля, то, что будет solution.?How я могу chnage пароль, не зная старое значение. Даже нет вопроса безопасности в aspnet_Membership table.It является нулевым значением. –

+0

Ну, вы можете связать методы ResetPassword (он возвращает строку только что введенного пароля), а затем ChangePassword, первый аргумент старого пароля передается в возвращаемом значении значения сброса. Boom! – Kritner

+0

Ohh.Great..It работал. –

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

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