基本用户帐户锁定系统

时间:2015-02-27 18:19:47

标签: java database security authentication user-accounts

我目前有一个带有用户帐户和登录系统的系统。我正在尝试实现“锁定”功能,以便在3次错误密码尝试后,用户被锁定。目前,这只涉及一个弹出窗口,只是警告用户而不是将其锁定。我正试图找到一个很好的方法来实现这一点,基于超时,所以在一段时间后用户可以尝试再次访问他们的帐户。

我的一个想法是将锁定时间写入文本文件,然后让系统检查此文本文件中的上一个锁定时间,如果已经过了足够的时间则允许登录,但这似乎是不优雅的解决这个问题的方法。

还有其他方法可以做到吗?感谢

1 个答案:

答案 0 :(得分:2)

通常,您将使用包含

等字段的数据库
id
username
password
failedAttempts (int)
lastFailed (date)
lastLogin (date)

当他们登录失败时,您会增加failedAttempts并将时间保存在lastFailed中。

然后在登录时,检查是否(failedAttempts< threshold)或((now - lastFailed)> timeThreshold)。

登录时,您将重置failedAttempts = 0和lastFailed = null