本篇介绍 Shiro 在登录控制相关的实际应用。 限制登录尝试次数 面对暴力破解密码方式的进行登录的攻击,比较有效的应对手段除了使用验证码,对一定时间内登录尝试次数进行限制同样是行之有效的。 在这里可以用 Redis 记录某段时间内的登录失败尝试次数,如果超过某个阈值,就不检查密码是否正确,直接返回错误信息。若干时间后再次允许对该账号的登录尝试。 Shiro 对密码进行比较的工作是由 Realm 的CredentialsMatcher完成的,因此我们可以自定义一个CredentialsMatcher,并且在进行密码…