KeyCloak配置咨询:5次登录失败后禁用账户并发送激活邮件
KeyCloak 登录失败锁定与激活邮件配置方案
这个功能完全可行,KeyCloak自带原生配置支持,具体操作步骤如下:
1. 启用登录失败账户锁定
- 进入KeyCloak管理控制台,选中你的目标Realm(领域)
- 左侧菜单点击Realm Settings(领域设置),切换到**Security Defenses(安全防护)**标签页
- 在**Brute Force Detection(暴力破解检测)**区域:
- 勾选Brute Force Enabled(启用暴力破解检测)
- 设置**Max Login Failures(最大登录失败次数)**为
5 - 按需调整Failure Reset Time(失败计数重置时间),比如设为15分钟,即15分钟内累计5次失败才触发锁定
- **Lockout Duration(锁定时长)**选
Permanent(永久锁定),确保账户保持锁定状态直到用户通过邮件激活或管理员手动解锁
2. 配置账户激活邮件
需先确保KeyCloak的邮件服务器已配置完成,再做以下操作:
- 在Realm Settings的**Email(邮件)**标签页,确认SMTP服务器的主机、端口、认证信息等配置正确
- 进入**Authentication(认证)菜单的Flows(流程)标签页,找到Reset Credentials(重置凭证)**流程
- 确保**Send Reset Email(发送重置邮件)**执行器处于启用状态,该执行器会在用户发起解锁请求时发送激活邮件
- 如需自定义邮件内容,可在Realm Settings的**Themes(主题)**标签页,选中当前使用的主题,修改
email/reset-password.ftl(对应语言的模板文件),将内容调整为账户激活相关提示
3. 用户解锁流程
账户锁定后,用户可在登录页面点击**Forgot Password(忘记密码)链接,输入用户名或邮箱,KeyCloak会发送带激活链接的邮件,用户点击链接即可重置密码并解锁账户;管理员也可在Users(用户)**菜单中找到对应用户,手动解除锁定状态
内容的提问来源于stack exchange,提问作者BefuddledBarberian
相关产品推荐
相关产品推荐

