Membership.PasswordAttemptWindow 属性

定义

获取时间长度,在该时间间隔内对提供有效密码或密码答案的连续失败尝试次数进行跟踪。

public:
 static property int PasswordAttemptWindow { int get(); };
public static int PasswordAttemptWindow { get; }
static member PasswordAttemptWindow : int
Public Shared ReadOnly Property PasswordAttemptWindow As Integer

属性值

对未能提供有效密码或密码答案的连续尝试次数进行跟踪的时间长度(以分钟为单位)。 默认值为 10 分钟。 如果当前失败尝试和上次失败尝试之间的间隔大于 PasswordAttemptWindow 属性设置,则每个失败尝试均被视为第一次失败尝试。

示例

下面的代码示例演示 ASP.NET 应用程序的 Web.config 文件的 部分中的成员 资格 元素 system.web 。 它指定应用程序使用 的 SqlMembershipProvider 实例,并将 属性设置为 maxInvalidPasswordAttempts 5 次无效尝试,将 passwordAttemptWindow 设置为 30 分钟。

<membership defaultProvider="SqlProvider"   
  userIsOnlineTimeWindow="20">  
  <providers>  
    <add name="SqlProvider"  
      type="System.Web.Security.SqlMembershipProvider"  
      connectionStringName="SqlServices"  
      requiresQuestionAndAnswer="true"  
      maxInvalidPasswordAttempts="5"  
      passwordAttemptWindow="30"  
      applicationName="MyApplication" />  
  </providers>  
</membership>  

注解

属性 PasswordAttemptWindow 与 属性结合使用, MaxInvalidPasswordAttempts 以帮助防止不需要的源通过反复尝试猜测成员身份用户的密码或密码答案。 当用户尝试使用、更改或重置其密码登录时,在指定的时间范围内只允许一定数量的连续尝试。 此时间窗口的长度在 属性中 PasswordAttemptWindow 指定,该属性标识在无效尝试之间允许的分钟数。

如果用户重置其密码的连续失败尝试次数等于 属性中 MaxInvalidPasswordAttempts 存储的值,并且自上次无效尝试以来经过的时间小于 属性中指定的 PasswordAttemptWindow 分钟数,则成员身份用户将被锁定。通过将 属性设置为 IsLockedOuttrue 锁定用户,直到通过调用 UnlockUser 方法解锁用户。

如果当前失败尝试与上次失败尝试之间的间隔大于 PasswordAttemptWindow 属性设置,则当前无效尝试将计为第一次尝试。 如果在达到允许的最大无效尝试次数之前提供了有效的密码答案,则无效密码应答尝试的计数将设置为 0 (零) 。 如果在达到允许的最大无效尝试次数之前提供了有效密码,则无效密码尝试的计数和无效密码应答尝试的计数将设置为 0 (零) 。

无效的密码和密码答案尝试相互独立累积。 例如,如果 MaxInvalidPasswordAttempts 设置为 5,然后进行了三次无效密码尝试,然后进行了两次无效密码应答尝试,则 (PasswordAttemptWindow 两次无效密码尝试或三次) 无效密码应答尝试,才能锁定成员身份用户。

使用 PasswordAttemptWindowmembership configuration-element passwordAttemptWindow 节的 属性在应用程序配置中设置属性值。

如果 属性 RequiresQuestionAndAnswer 设置为 false,则不会跟踪无效的密码应答尝试。

适用于

另请参阅