0

プロジェクトにCustomMembershipクラスがあり、クラスでこのコードを使用します

private static int _MinRequiredPasswordLength;
public static int MinRequiredPasswordLength
    {
        set { _MinRequiredPasswordLength = value; }
        get { return _MinRequiredPasswordLength; }
    }

web.configでメンバーシップを設定します

<membership defaultProvider="CustomMembership">
  <providers>
    <clear />
    <add name="CustomMembership" type="Project1.Code.CustomMembership, Project1, Version=1.0.0.0, Culture=neutral" connectionStringName="PConn" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
  </providers>
</membership>

minRequiredPasswordLength を取得するには、次のコードを使用します。

MinRequiredPasswordLength.Text = CMembership.MinRequiredPasswordLength.ToString();

しかし、「0」を取得してください!「6」を取得したい。

4

2 に答える 2

2

抽象クラスから派生した場合MembershipProviderは、オーバーライドする必要がありますMembershipProvider.Initializeconfigコレクションにはすべての構成属性が含まれ、それらを使用して次のようなプロパティを設定できますMinRequiredPasswordLength

private int _minRequiredPasswordLength;

public override void Initialize(string name, NameValueCollection config)
{
    _minRequiredPasswordLength = // get it from config["minRequiredPasswordLength"], with validation and conversion to int.
}

public override MinRequiredPasswordLength
{
    get { return _minRequiredPasswordLength; }
}

などの既存のプロバイダから派生した場合は、SqlMembershipProvider単純に の基本クラスの実装を使用できますMinRequiredPasswordLength

于 2013-10-11T17:24:04.980 に答える
1

試す :

MinRequiredPasswordLength.Text = @CustomMembership.MinRequiredPasswordLength
于 2013-10-11T13:43:40.980 に答える