使密码恢复控制与锁定用户一起使用?

时间:2010-04-12 04:02:55

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

使用SQL Server成员资格提供程序的ASP.NET应用程序中的示例方案:

1)用户无法记住他们的确切密码,并在很短的时间内尝试多次使用无效密码登录(例如在10分钟的窗口中输入5次)。这会锁定用户(即将aspnet_Membership表的IsLockedOut标志设置为1)。

2)用户进入“忘记密码”屏幕,尝试通过电子邮件向他们发送新密码。此屏幕使用PasswordRecovery控件。用户输入正确的用户ID,但在密码恢复过程中无法进一步,因为IsLockedOut标志为1.(他们甚至没有看到他们的安全问题)。

3)然后,用户必须致电技术支持以解锁他们等。

为了减轻支持人员的负担,我们尝试通过使用PasswordRecovery控件(如果可能)来减少步骤3所需的时间,与锁定的用户一起工作。即,当他们输入他们的登录ID时,出现安全问题,并且如果他们输入正确的答案,则系统将解锁用户,并将新的临时密码通过电子邮件发送给他们。我想知道是否可以调整PasswordRecovery控件来执行此操作。或者这种方法可能存在安全问题?

1 个答案:

答案 0 :(得分:3)

您可以创建一个具有 AutoUnlockTimeout 设置的自定义成员资格提供程序,该设置可以通过配置进行配置 - Implementing Automatic Unlocking in ASP.NET 2.0 SqlMembershipProvider