2

ユーザーパスワードをリセットしたいのですが。私は次のコードのようなメソッドを持っています。EnablePasswordReset抽象的であるため上書きしません。私はすでにweb.configを変更しました。しかし、それでもエラーが発生します:

パスワードのリセットが有効になっていません。メンバーシッププロバイダーのEnablePasswordResetプロパティをtrueに設定します。

EnablePasswordResetセットを評価する方法はtrue

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

      return obj.ResetPassword();             
  }

web.config

        <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

Set in your web.config file;

enablePasswordReset="true"

Check out MSDN example;

<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>

You said, you done it before, please check in your codebehind like this;

if (!Membership.EnablePasswordReset)
{

}

Check your membership is really using it or not.

于 2013-02-18T09:19:11.420 に答える