shaw
539bfc8bad
feat(security): 敏感操作 step-up 2FA 开关化,安全开关默认关闭
新增系统设置 step_up_enabled(默认关闭),把敏感操作 2FA 门控做成可开关;
同时将会话 IP/UA 绑定默认值从开启改为关闭,避免用户因 IP 变动登录后掉线。
## 新增功能
- 敏感操作 step-up 2FA 总开关 step_up_enabled(默认关闭):关闭时账号/代理导出、
备份创建/下载、S3 配置修改、提升管理员等操作恢复门控引入前的直接放行行为;
开启后要求当前会话在 15 分钟内完成过 TOTP step-up 验证。
## 优化改进
- 会话 IP/UA 绑定默认改为关闭(功能保留,可在设置页按需开启)。
- 开启 step-up 开关需操作者本人已启用 TOTP(防自锁);关闭开关本身作为敏感操作,
需通过 step-up 验证(防止攻击者拿到会话后先关闸再导出/备份)。
- 两个安全开关请求字段改为可空指针(省略=保持现值),避免旧客户端全量保存时
静默重置安全开关。
- 备份恢复(整库覆盖可回滚安全设置)纳入 step-up 门控。
- 审计摘要 diffSettings 补记 step_up_enabled / session_binding_enabled 变更。
## Bug 修复
- 修复 BackupView 恢复操作 409(恢复进行中)判断未适配 apiClient 扁平化错误对象。
2026-07-18 10:46:42 +08:00
..
2026-07-18 10:46:42 +08:00
2026-07-18 10:46:42 +08:00
2026-06-11 18:55:27 +08:00
2026-06-11 18:55:27 +08:00
2026-06-11 18:55:27 +08:00
2026-07-16 13:47:50 +08:00
2026-07-16 13:47:50 +08:00
2026-06-30 01:11:51 +08:00
2026-07-16 19:33:32 +08:00
2026-06-11 18:55:27 +08:00
2026-06-11 18:55:27 +08:00
2026-06-11 18:55:27 +08:00
2026-07-01 17:46:12 +08:00
2026-07-15 09:35:34 -07:00
2026-07-17 00:39:39 +08:00
2026-07-15 22:22:51 +08:00
2026-06-16 11:41:54 +08:00
2026-07-17 00:39:39 +08:00
2026-07-15 19:57:37 -07:00
2026-07-15 19:57:37 -07:00
2026-07-15 09:29:05 +08:00
2026-07-15 09:29:05 +08:00
2026-07-14 14:55:30 +08:00
2026-07-17 00:39:39 +08:00
2026-06-11 20:46:47 +08:00
2026-07-17 00:39:39 +08:00
2026-07-13 11:35:46 +08:00
2026-07-15 00:12:40 +08:00
2026-07-17 16:15:26 +08:00
2026-07-13 15:32:42 +08:00
2026-07-06 16:45:15 +08:00
2026-07-14 14:55:30 +08:00
2026-07-14 14:55:30 +08:00
2026-07-15 22:42:53 +08:00
2026-07-15 22:42:53 +08:00
2026-07-16 16:52:25 +08:00
2026-07-17 00:39:39 +08:00
2026-07-17 11:51:16 +08:00
2026-07-17 16:15:26 +08:00
2026-07-17 00:39:39 +08:00
2026-07-15 19:57:37 -07:00
2026-07-17 00:39:39 +08:00
2026-07-13 10:11:34 +08:00
2026-07-13 10:11:34 +08:00
2026-07-17 00:39:39 +08:00
2026-07-16 00:52:26 +08:00
2026-07-17 00:39:39 +08:00
2026-07-16 17:10:44 +08:00
2026-07-13 20:36:37 +08:00
2026-07-17 00:39:39 +08:00
2026-07-11 12:51:53 +08:00
2026-07-14 22:40:05 +08:00
2026-07-16 00:40:46 +08:00
2026-07-14 14:55:30 +08:00
2026-07-14 14:55:30 +08:00
2026-06-12 01:47:01 +08:00
2026-07-15 13:01:16 +08:00
2026-07-16 09:33:09 +08:00
2026-07-17 16:15:26 +08:00
2026-07-17 15:29:14 +08:00
2026-07-15 04:20:11 +08:00
2026-06-26 10:36:09 +08:00
2026-07-17 00:39:39 +08:00
2026-06-28 11:13:09 +08:00
2026-07-15 09:29:05 +08:00
2026-07-12 04:53:41 +08:00
2026-06-12 01:47:01 +08:00
2026-07-08 02:51:51 +00:00
2026-07-14 14:55:30 +08:00
2026-07-13 15:22:39 +08:00
2026-07-15 11:17:45 +08:00
2026-07-09 11:15:52 +08:00
2026-07-07 13:53:39 +08:00
2026-07-07 13:53:39 +08:00
2026-07-17 00:39:39 +08:00
2026-07-17 00:39:39 +08:00
2026-07-17 08:46:57 +08:00
2026-07-17 08:46:57 +08:00
2026-07-17 00:39:39 +08:00
2026-07-17 00:39:39 +08:00
2026-07-02 16:11:07 +08:00
2026-07-07 10:20:23 +08:00
2026-07-16 16:49:08 +08:00
2026-07-08 13:50:49 +08:00
2026-07-08 13:50:49 +08:00
2026-07-16 15:37:35 +08:00
2026-07-18 10:46:42 +08:00