I've been following the knowledge base documentation to allow users to be able to reset their passwords. Everything works just fine on the Default membership provider, but whenever I set the enablePasswordReset = true (enablePasswordRetrieval is set to false, btw), recoveryMailAddress has a valid email address, and requiresUniqueEmail = true, then reset the app pool. I then go into the MembershipProvider settings again, and enablePasswordReset is back to false, requiresUniqueEmail is false, and recoveryMailAddress is blank.
Any suggestions as to why it's being reset? My test accounts can sign into the site using the OpenAccessMembership37Provider just fine, but if I go to reset my password, I'm greeted with a server error saying that I need to enable the password reset for the provider. Below is the message and stack trace. Is there any way to force the configuration using the SecurityConfig.config file? Thanks for any suggestions.
Password reset is not enabled. Set the EnablePasswordReset property of the membership provider to true.Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.NotSupportedException: Password reset is not enabled. Set the EnablePasswordReset property of the membership provider to true.
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
[NotSupportedException: Password reset is not enabled. Set the EnablePasswordReset property of the membership provider to true.]
DynamicModule.ns.Wrapped_OpenAccessMembership37Provider_a75bf8e44082461f8858aae437e09b61.ResetPassword(Guid userId, String answer) +429
Telerik.Sitefinity.Security.UserManager.ResetPassword(Guid userId, String answer) +64
Telerik.Sitefinity.Security.Web.UI.UserChangePasswordWidget.ChangePassword(UserManager userManager, Guid userId, String oldPassword, String newPassword) +214
Telerik.Sitefinity.Security.Web.UI.UserChangePasswordView.SaveChanges_Click(Object sender, EventArgs e) +45
System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) +153
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3804
So, I was able to resolve this by directly modifying the MigrationModuleConfig.config file to the MembershipProvider settings, modifying the values that the default provider has set in the SecurityConfig.config file.
<migrationModuleConfig xmlns:config="urn:telerik:sitefinity:configuration" xmlns:type="urn:telerik:sitefinity:configuration:type" config:version="8.2.5900.0" lastMigrationUrl="http://localhost:81">
<add requiresUniqueEmail="false" enabled="True" name="OpenAccessMembership37Provider" />
<add enablePasswordReset="true" recoveryMailAddress="email@example.com" name="OpenAccessMembership37Provider" />
I'm a little anxious that this information will reset going forward, but at least I was able to get the changes to stick through directly modifying the configuration settings.