平台功能(自研)可视化配置
安全配置
安全配置控制账号层面的基础防护,保存在 sys_config 的 security 分类。与框架相关的鉴权、数据权限、Sa-Token 配置仍以官方 5.X 文档为准。
配置项
| 配置项 | 配置键 | 默认值 | 说明 |
|---|---|---|---|
| 密码最大错误次数 | user.password.maxRetryCount | 7 | 连续输错达到次数后锁定账号 |
| 密码锁定时间 | user.password.lockTime | 15 | 锁定分钟数,到期自动解锁 |
| 用户注册开关 | sys.account.registerUser | true | 是否允许自助注册 |
| 注册邮箱/手机验证 | sys.account.registerVerification | false | 注册时是否必须完成邮箱或手机验证码校验 |
| OSS 预览列表资源 | sys.oss.previewListResource | true | 文件管理页是否显示预览列表资源 |
读取方式:登录服务通过
SysLoginService.readIntConfig(key, 默认值)读取整型参数;空串、空白和非法值都会回落到默认值,不会因为参数缺失导致登录不可用。
登录锁定
锁定判据使用平台统一的登录失败计数。达到阈值后:
- 登录接口返回账号锁定错误;
- 锁定期间即使密码正确也拒绝登录;
- 到期后自动解锁。
管理员也可以在「日志管理 → 登录日志」中手动解锁账号(需要 monitor:logininfor:unlock 权限)。
自助注册
- 关闭
sys.account.registerUser后,注册接口直接拒绝,前端注册入口应同步隐藏。 - 开启
sys.account.registerVerification后,注册请求必须携带有效的邮箱 / 手机验证码;验证码通过号码认证或邮件能力发送。 - 注册开关只影响新用户,不会影响已有账号登录。
注册验证的实际链路
注册页 → 发送验证码接口 → PhoneVerifyService / MailService
→ 用户提交注册 → 校验验证码 → 创建账号验证码的发送依赖号码认证配置或邮件配置。两者都不可用时,不要开启注册验证,否则用户无法完成注册。
OSS 预览列表
关闭后,文件管理页不展示可用于预览的资源列表,但上传、下载、删除不受影响。它主要用于减少大桶的列表压力,不是权限控制。
修改建议
| 场景 | 建议 |
|---|---|
| 公网后台 | 降低最大错误次数(如 5 次),延长锁定时间(如 30 分钟) |
| 内网/演示环境 | 保持默认即可 |
| 需要开放注册的 C 端 | 开启注册验证,并配置可用的号码认证或邮件服务 |
| 关闭注册的私有化部署 | sys.account.registerUser=false,由管理员创建账号 |
排错
用户被锁定,但登录日志里没有记录?
确认失败计数写入的是同一租户;多租户下账号按 tenant_id 隔离。
改了锁定时间不生效?
确认保存成功并刷新缓存;新配置在下一次登录失败计数时读取。