SqlMembershipProvider.PasswordAttemptWindow 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取跟踪连续失败尝试提供有效密码或密码答案之间的时间范围。
public:
virtual property int PasswordAttemptWindow { int get(); };
public override int PasswordAttemptWindow { get; }
member this.PasswordAttemptWindow : int
Public Overrides ReadOnly Property PasswordAttemptWindow As Integer
属性值
跟踪连续失败尝试提供有效密码或密码答案的时间范围(以分钟为单位)。 默认值为 10 分钟。 如果当前失败尝试与上次失败尝试之间的间隔大于 PasswordAttemptWindow 属性设置,则每个失败尝试被视为第一次失败尝试。
示例
下面的代码示例演示 ASP.NET 应用程序的 Web.config 文件中 的成员身份 元素 system.web 。 它指定应用程序使用实例 SqlMembershipProvider 并将属性设置为 maxInvalidPasswordAttempts 五次无效尝试和 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 分钟数,则成员身份用户将通过将 IsLockedOut 属性设置为 true锁定。 可以通过调用 UnlockUser 该方法来解锁用户。 如果当前失败尝试与上次失败尝试之间的间隔大于 PasswordAttemptWindow 属性设置,则当前无效尝试的计数为第一次。 如果在达到允许的最大无效尝试数之前提供有效的密码答案,则无效密码应答尝试的计数设置为零。 如果在达到允许的最大无效尝试次数之前提供有效的密码,则无效密码尝试计数和无效密码应答尝试计数设置为零。
单独 SqlMembershipProvider 保留无效密码尝试和无效密码应答尝试的计数。 无效的密码尝试只会增加密码尝试计数器。 无效的密码应答尝试只会增加密码答案计数器。
使用PasswordAttemptWindow成员身份配置节的属性在应用程序配置passwordAttemptWindow中设置属性值。
RequiresQuestionAndAnswer如果该属性设置为false,则不会跟踪无效的密码答案尝试。