by Pieter Brinkman
13. January 2009 04:32
You can change the password of a MembershipUser object in C# with the ChangePassword method. The only problem of this method is that it needs the old password(string) as input parameter and I only have the hashed version off the password. To get the old password you can user the MembershipUser.ResetPassword() method. This method will reset the password and returns the new password as string.
MembershipUser user = Membership.GetUser(userNameTxt.Text);
user.ChangePassword(user.ResetPassword(), passwordTxt.Text);
Don't for get to check that the enablePasswordReset setting is true in the web.config.
<membership>
<providers>
<remove name="AspNetSqlMembershipProvider" />
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="SiteSqlServer"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
applicationName="/"
requiresUniqueEmail="false"
minRequiredPasswordLength="3"
minRequiredNonalphanumericCharacters="0"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="5"
passwordAttemptWindow="10"
passwordStrengthRegularExpression=""/>
</providers>
</membership>
Goodluck!
by Pieter Brinkman
4. December 2008 08:46
The loginstatus control doesn't have a property to set the url of the login page. You need to set this URL in the web.config of your application.
Insert the login URL between the authentication node of the web.config. So it looks like this
<authentication mode="Forms">
<forms loginUrl="~/pages/login.aspx" />
</authentication>
Change the value of the loginUrl to your login page.