sadeghhp
sadeghhp

Reputation: 702

asp.net membership ResetPassword does not work

when i want to use ResetPassword method in vb.net or c# , it can not reset password and make an exeption that say : "The password-answer supplied is wrong". i think it is caused by hashing system and machine code of hash and salt. how can i solve this problem ?

Upvotes: 0

Views: 1152

Answers (2)

asu-tr
asu-tr

Reputation: 1

I used it in a wrong way, and got the same error, hope helps you too. This is my code:

MembershipUser mu = Membership.GetUser(c.Username);

if (mu.PasswordQuestion == c.Question)
{
    string pwd = mu.ResetPassword(c.Answer);
    mu.ChangePassword(pwd, c.Password);

    return RedirectToAction("SignIn");
}

else
{
    ViewBag.Message = "Error!";
    return View();
}

Upvotes: 0

Eranga
Eranga

Reputation: 32447

add following attribute to your membership cofig section in your Web.Config file.

requiresQuestionAndAnswer="false"

full example

<configuration>
    <connectionStrings>
        <add name="SqlServices" 
             connectionString="Data Source=MySqlServer;Integrated Security=SSPI;Initial 
             Catalog=aspnetdb;" />
    </connectionStrings>
    <system.web>
        <membership 
             defaultProvider="SqlProvider"
             userIsOnlineTimeWindow="20">
             <providers>
                <remove name="AspNetSqlProvider" />
                <add name="SqlProvider"
                    type="System.Web.Security.SqlMembershipProvider"
                    connectionStringName="SqlServices"
                    enablePasswordRetrieval="false"
                    enablePasswordReset="true"
                    requiresQuestionAndAnswer="false"
                    passwordFormat="Hashed"
                    applicationName="/" />
            </providers>
        </membership>
    </system.web>
</configuration>

Upvotes: 2

Related Questions