簡體   English   中英

使用web.config在自定義成員資格中設置minRequiredPasswordLength

[英]set minRequiredPasswordLength in custom membership with web.config

我在項目中有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”。

如果從抽象的MembershipProvider類派生,則應重寫MembershipProvider.Initialize config集合將包含所有配置屬性,您可以使用它們來設置屬性,包括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的基類實現。

嘗試:

MinRequiredPasswordLength.Text = @CustomMembership.MinRequiredPasswordLength

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM