如何在使用JOSSO进行3次登录尝试失败后锁定用户?

时间:2011-11-22 09:45:27

标签: java authentication josso

我正在开发一个实施了JOSSO的项目。

我们正在使用JOSSO版本1.8.5。

要求是在3次登录尝试失败后将用户锁定在系统之外。

有没有人知道如何使用JOSSO完成这项工作,我查看了文档,但找不到对此类功能的任何引用,但我确定它必须是身份验证应用程序的标准功能吗?

到目前为止我们尝试了什么:   - 在josso-gateway-db-stores.xml中,我们尝试更改用于从数据库中检索用户的SQL:

credentialsQueryString="SELECT username AS username , password AS password FROM users WHERE username = ?"

credentialsQueryString="UPDATE users SET failed_login_attempts = failed_login_attempts + 1 where username = ?; SELECT username AS username , password AS password FROM users WHERE username = ?"

计划是在用户成功登录系统后立即重置计数。但是,此时运行UPDATE sql并抛出异常是无效的。

我们还查看了josso应用程序,试图找到我们可以用来在成功/不成功登录后实现回调函数的钩子,遗憾的是这里也没有运气。

有没有人有这方面的经验?

1 个答案:

答案 0 :(得分:0)

查看JOSSO authenticatorImpl,可以继承来计算数字 尝试在必要时在时间框哈希表中锁定帐户。