2

我想重设用户密码。我有一个类似以下代码的方法。EnablePasswordReset不会覆盖,因为它是抽象的。我已经更改了 web.config。但是还是报错:

未启用密码重置。将成员资格提供程序的 EnablePasswordReset 属性设置为 true。

如何设置EnablePasswordResettrue

  public static string ResetCurrentUserPassword(string userName)
  {
      MembershipProvider p = (MembershipProvider)Membership.Providers["Default"];
      //p.EnablePasswordReset value false;
      MembershipUser obj = Membership.GetUser(userName);

      return obj.ResetPassword();             
  }

网络配置

        <siteMap defaultProvider="SitefinitySiteMap">
            <providers>
                <add name="SitefinitySiteMap" type="Telerik.Sitefinity.Web.SitefinitySiteMap, Telerik.Sitefinity" enablePasswordReset="true" taxonomyProvider="OpenAccessDataProvider" pageTaxonomy="Pages" rootNode="FrontendSiteMap" pageProvider="OpenAccessDataProvider"/>
            </providers>
        </siteMap>
        <roleManager enabled="false"/>
        <membership defaultProvider="Default">
            <providers>
                <clear/>
                <add name="Default" type="Telerik.Sitefinity.Security.Data.SitefinityMembershipProvider, Telerik.Sitefinity" enablePasswordReset="true"/>
            </providers>
        </membership>
4

1 回答 1

2

设置在您的web.config文件中;

enablePasswordReset="true"

查看MSDN示例;

<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="20">
  <providers>
    <add name="SqlProvider"
      type="System.Web.Security.SqlMembershipProvider"
      connectionStringName="SqlServices"
      enablePasswordRetrieval="false"
      enablePasswordReset="true"
      requiresQuestionAndAnswer="true"
      passwordFormat="Hashed"
      applicationName="MyApplication" />
  </providers>
</membership>

你说,你以前做过,请像这样检查你的代码隐藏;

if (!Membership.EnablePasswordReset)
{

}

检查您的会员是否真的在使用它。

于 2013-02-18T09:19:11.420 回答