有没有办法从会员api获取无效的密码尝试次数

时间:2014-09-01 13:38:50

标签: asp.net asp.net-mvc asp.net-membership

我需要检查用户在登录时尝试了多少次无效尝试。

这是因为我们要求从db not config保存最大尝试密码值。

1 个答案:

答案 0 :(得分:1)

默认的Membership API不会公开无效的尝试计数,但它们确实在数据库中被跟踪。

如果您查看Sample Membership Provider Implementation的文档,您将在数据库架构部分中看到以下内容:

FailedPasswordAttemptCount Integer,
FailedPasswordAttemptWindowStart DateTime,
FailedPasswordAnswerAttemptCount Integer,
FailedPasswordAnswerAttemptWindowStart DateTime

这些与PasswordAttemptWindow设置一起使用,以便在用户无法提供正确的值时锁定用户,并且当用户无法登录时,默认提供程序会更新计数。

如果您想通过数据库而不是web.config来管理这些,您只能有一个选择:编写自定义成员资格提供程序(基于sample),从DB读取所需的值而不是配置设置。

这是因为提供程序上的属性是只读的,因此在加载和实例化提供程序后,您无法修改它。