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-15 17:52:10 +08:00
2026-07-14 15:00:52 +08:00
2026-07-15 17:52:10 +08:00
2026-07-14 15:00:52 +08:00
2026-07-14 12:24:42 +08:00
2026-07-14 15:00:52 +08:00
2026-07-15 16:13:22 +08:00
2026-07-14 15:00:52 +08:00
2026-07-14 15:00:52 +08:00
2026-07-14 15:00:52 +08:00
2026-07-14 15:00:52 +08:00
2026-07-14 15:00:52 +08:00
2026-07-01 12:21:45 +08:00
2026-07-15 23:58:46 +08:00
2026-07-01 12:21:45 +08:00
2026-07-01 12:21:45 +08:00
2026-03-04 15:22:46 +08:00
2026-07-15 23:58:46 +08:00
2026-07-15 23:58:46 +08:00
2026-07-18 10:46:42 +08:00
2026-07-10 15:16:09 +08:00
2026-07-16 19:33:32 +08:00
2026-05-03 20:33:13 +08:00
2026-04-09 18:14:28 +08:00
2026-04-09 18:14:28 +08:00
2026-02-11 01:23:21 +08:00
2026-04-27 16:47:44 +08:00
2026-04-27 16:47:44 +08:00
2026-07-17 09:33:18 +08:00
2026-03-16 20:22:10 +08:00
2026-07-14 15:00:52 +08:00
2026-05-19 20:32:32 +08:00
2026-07-15 09:35:34 -07:00
2026-07-16 16:30:19 +08:00
2026-07-16 16:30:19 +08:00
2026-07-14 12:24:42 +08:00
2026-06-10 14:16:51 +08:00
2026-06-12 01:47:01 +08:00
2026-03-11 16:46:58 +08:00
2026-03-17 19:26:30 +08:00
2026-07-10 11:43:44 +08:00
2026-07-10 11:43:44 +08:00
2026-03-17 19:26:11 +08:00
2026-03-17 19:26:11 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:05:54 +08:00
2026-02-10 11:42:39 +08:00
2026-02-24 20:04:05 +08:00
2026-07-15 16:11:28 +08:00
2026-07-14 12:45:03 +08:00
2026-07-14 15:00:52 +08:00
2026-07-16 19:10:21 +08:00
2026-07-16 19:10:21 +08:00
2026-07-16 18:18:28 +08:00
2026-07-16 18:18:28 +08:00
2026-03-04 15:22:46 +08:00
2026-03-04 13:45:49 +08:00
2026-02-23 12:45:37 +08:00
2026-07-15 10:51:13 +08:00
2026-07-01 12:21:45 +08:00
2026-07-13 17:55:01 +08:00
2026-06-08 00:01:30 +08:00
2026-02-12 14:20:14 +08:00
2026-07-14 14:55:30 +08:00
2026-07-02 20:04:47 +00:00
2026-02-12 16:27:29 +08:00
2026-02-12 16:27:29 +08:00
2026-03-04 13:45:49 +08:00
2026-07-14 01:29:46 +08:00
2026-07-14 01:29:46 +08:00
2026-07-14 01:29:30 +08:00
2026-06-25 16:23:45 +08:00
2026-06-30 10:19:50 +08:00
2026-06-18 23:07:25 +08:00
2026-04-09 18:14:28 +08:00
2026-06-08 00:01:30 +08:00
2026-06-08 00:01:30 +08:00
2026-04-09 18:14:28 +08:00
2026-05-19 15:53:28 +08:00
2026-05-20 16:08:41 +08:00
2026-03-08 06:59:53 +08:00
2026-02-07 19:46:42 +08:00
2026-07-18 10:46:42 +08:00
2026-07-16 00:40:46 +08:00
2026-06-26 16:19:41 +08:00
2026-05-19 15:27:47 +08:00
2026-07-09 10:03:49 +08:00
2026-05-26 10:49:20 +08:00
2026-07-08 08:49:22 +08:00
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-03-11 16:46:58 +08:00
2026-03-11 16:46:58 +08:00
2026-07-01 22:19:21 +08:00
2026-07-09 22:30:04 +08:00
2026-07-09 22:30:04 +08:00
2026-03-27 14:33:05 +08:00
2026-02-28 15:01:20 +08:00
2026-04-09 19:25:08 +08:00
2026-05-30 17:52:18 +08:00
2026-04-09 18:14:28 +08:00
2026-05-30 18:56:08 +08:00
2026-05-30 18:56:08 +08:00
2026-05-30 18:56:08 +08:00
2026-03-04 13:45:49 +08:00
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-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-29 09:40:04 +08:00
2026-05-26 10:49:20 +08:00