【发布时间】:2009-12-09 21:13:11
【问题描述】:
我们正在使用 asp.net 附带的标准 ASP.net 会员功能。
我们会员数据库中的某些帐户将“锁定”标志设置为 true - 何时/如何发生这种情况?
【问题讨论】:
-
Unlock是怎样一个账号的?
我们正在使用 asp.net 附带的标准 ASP.net 会员功能。
我们会员数据库中的某些帐户将“锁定”标志设置为 true - 何时/如何发生这种情况?
【问题讨论】:
Unlock 是怎样一个账号的?
在可配置的时间长度(passwordAttemptWindow,默认 = 10 分钟)内登录失败次数达到可配置的次数(maxInvalidPasswordAttempts,默认 = 5)后,帐户将被锁定。
请参阅here 了解与成员资格相关的配置属性
【讨论】:
These 4 guys 很好地深入解释了 asp.net 会员控制
<system.web>
... authentication & authorization settings ...
<membership defaultProvider="CustomizedProvider">
<providers>
<add name="CustomizedProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="MyDB"
applicationName="MyProject"
minRequiredPasswordLength="5"
minRequiredNonalphanumericCharacters="0" />
</providers>
</membership>
基本上添加您的提供程序,然后按照您希望的方式设置设置
【讨论】:
当有人尝试使用错误密码登录 5 次(或“maxInvalidPasswordAttempts”设置的任何值)时,帐户将被锁定...
为了避免以后发生这种情况,请更改 web.config 中的属性 maxInvalidPasswordAttempts
例子:
<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="15">
<providers>
<clear />
<add
name="SqlProvider"
....
maxInvalidPasswordAttempts="the new value here "
/>
</providers>
【讨论】:
帐户锁定是 SqlMembershipProvider 的一项功能,可防止密码猜测。
查看this page可以看到aspnet_Membership表有IsLockedOut、LastLockoutDate、FailedPasswordAttemptCount、FailedPasswordAnswer-AttemptCount。通过查看此表和那些列,您应该能够确定谁登录失败、他们登录失败的时间以及失败的次数。
登录尝试次数的实际计数可以在 web.config 部分中设置。你可以阅读更多关于account locking here.
【讨论】: