我正在做一个有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应用程序,试图找到在登录成功/失败后可以用来实现回调函数的钩子,不幸的是,在这里也没有成功的机会。
有没有人有这样做的经验?
发布于 2012-03-26 23:50:48
看看JOSSO authenticatorImpl,如果需要的话,可以继承它来计算在timeboxes哈希表中锁定帐户的尝试次数。
https://stackoverflow.com/questions/8224770
复制相似问题