我正在寻找库来为Web应用程序提供高级用户帐户保护。我需要以下功能:
1)在规定的时间范围内多次登录尝试失败后,用户帐户锁定 2)密码在N天内到期 3)每个用户的密码历史跟踪。
是否有适合所有或部分需求的解决方案?
提前致谢!
答案 0 :(得分:1)
您可以使用Spring.&来完成所有这些操作。 Spring Security
1)在定义的时间范围内多次登录尝试失败后,用户帐户锁定。
您可以使用Spring Security并计算失败尝试次数,并且bock用户here是文章
常见的用户要求是在多次登录尝试失败后禁用/锁定帐户。 Acegi本身不提供“开箱即用”的任何东西,但是在您的应用程序中,您可以实现并注册org.springframework.context.ApplicationListener。在应用程序事件侦听器中,您可以检查特定AuthenticationFailureEvent的实例,然后调用应用程序用户管理界面以更新用户详细信息。
例如:
public void onApplicationEvent(ApplicationEvent event) {
// check failed event
if(event instanceof AuthenticationFailurePasswordEvent){
// call user management interface to increment failed login attempts, etc.
. . .
}
}
2)密码在N天内到期。
您可以使用重置密码的Spring Quartz Support安排任务。此外,您可以在数据库中拥有ExpiryDate字段,并且可以每天@ 0000小时触发触发器并执行操作
3)每个用户的密码历史记录跟踪。
使用数据库,您可以记录使用的密码,您可以使用Spring-DAO support轻松完成。
顺便说一句,如果你发现任何专门针对这个lee的框架我知道:)
答案 1 :(得分:1)
我认为你的要求并不是那么复杂,不需要外部库。
答案 2 :(得分:0)
我不知道任何提供这些功能的框架,但我不确定我是否会费心去找一个。它们是非常简单的要求,很容易自己编写代码,可能花费的时间少于学习新框架所需的时间。然后,您避免依赖于框架。
对于与安全性相关的更复杂的要求,我建议Spring Security。