SqlMembershipProvider.PasswordAttemptWindow 属性

定义

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

public:
 virtual property int PasswordAttemptWindow { int get(); };
public override int PasswordAttemptWindow { get; }
member this.PasswordAttemptWindow : int
Public Overrides ReadOnly Property PasswordAttemptWindow As Integer

属性值

Int32

对未能提供有效密码或密码答案的连续尝试次数进行跟踪的时间长度(以分钟为单位)。 默认值为 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 属性设置,则当前无效尝试将计为第一次尝试。 如果在达到允许的最大无效尝试次数之前提供有效的密码答案,则密码应答尝试的计数设置为零。 如果在达到允许的最大无效尝试次数之前提供有效的密码,则无效密码尝试计数和无效密码应答尝试的计数设置为零。

单独 SqlMembershipProvider 保留无效密码尝试和无效密码应答尝试的计数。 无效的密码尝试只会增加密码尝试计数器。 无效的密码应答尝试只会增加密码应答计数器。

使用PasswordAttemptWindow成员身份配置节的属性在应用程序配置passwordAttemptWindow中设置属性值。

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

适用于

另请参阅