Initial certificate system
This commit is contained in:
100
docs/操作日志强化需求.md
Normal file
100
docs/操作日志强化需求.md
Normal file
@@ -0,0 +1,100 @@
|
||||
# 操作日志强化需求
|
||||
|
||||
## 背景
|
||||
|
||||
当前后台已经具备基础操作日志能力,可以记录部分后台动作并在页面查看。随着证书、学员、项目、导入文件等管理动作增多,日志需要更方便排查问题、追踪责任和留档审计。
|
||||
|
||||
## 一期目标
|
||||
|
||||
快速增强后台操作日志的可用性,不做复杂审计系统,但要满足日常运营排查和关键动作追踪。
|
||||
|
||||
## 功能需求
|
||||
|
||||
1. 日志列表支持筛选和搜索:
|
||||
- 按操作类型筛选。
|
||||
- 按对象类型筛选。
|
||||
- 按风险等级筛选。
|
||||
- 按关键词搜索对象 ID、摘要、详情内容。
|
||||
|
||||
2. 日志显示更易读:
|
||||
- 操作名显示中文。
|
||||
- 对象类型显示中文。
|
||||
- 增加操作摘要,例如“作废证书:PX2026-xxx”“删除导入文件:test.xlsx”。
|
||||
- 高风险动作增加醒目标记。
|
||||
|
||||
3. 日志详情弹窗:
|
||||
- 展示操作时间、操作人、操作、对象、对象 ID、风险等级。
|
||||
- 展示摘要。
|
||||
- 展示完整详情 JSON,便于排查。
|
||||
|
||||
4. 关键动作记录更多上下文:
|
||||
- 新增/修改/停用项目记录项目代码、名称、状态变化。
|
||||
- 新增/修改/删除学员记录姓名、脱敏手机号、状态变化。
|
||||
- 新增/作废/重置链接证书记录证书编号和学员信息。
|
||||
- 上传/确认/删除导入批次记录文件名、导入统计。
|
||||
|
||||
5. 日志导出:
|
||||
- 支持导出 Excel。
|
||||
- 导出内容包含时间、操作人、操作、对象、对象 ID、风险等级、摘要、详情。
|
||||
|
||||
## 风险等级规则
|
||||
|
||||
高风险:
|
||||
- 作废证书。
|
||||
- 删除导入批次/导入原文件。
|
||||
- 重置证书公开链接。
|
||||
- 停用项目。
|
||||
- 删除学员。
|
||||
|
||||
中风险:
|
||||
- 修改项目。
|
||||
- 修改学员。
|
||||
- 确认导入。
|
||||
- 新增证书。
|
||||
|
||||
低风险:
|
||||
- 新增项目。
|
||||
- 新增学员。
|
||||
- 上传导入文件。
|
||||
- 导出数据。
|
||||
|
||||
## 暂不做
|
||||
|
||||
- 日志删除功能。
|
||||
- 日志归档策略。
|
||||
- 复杂审计报表。
|
||||
- 登录失败风控和异常 IP 告警。
|
||||
|
||||
## 日志保留与清理策略
|
||||
|
||||
一期采用自动清理过期日志,不开放任意删除单条日志,避免审计证据被误删。
|
||||
|
||||
- 普通后台操作日志保留 180 天。
|
||||
- 学员公开查询、公开下载日志保留 180 天。
|
||||
- 高风险后台操作日志保留 365 天,包括作废证书、删除导入批次、重置证书公开链接、删除学员。
|
||||
- 系统启动和进入日志管理时可以触发过期清理。
|
||||
- 后台日志页提供“清理过期日志”按钮,只清理超过保留周期的日志,不删除未过期日志。
|
||||
|
||||
## 公开访问日志
|
||||
|
||||
需要记录学员/外部用户主动查询和下载电子证书的行为,用于排查“用户是否查过/下载过”的问题。
|
||||
|
||||
- 公开查询证书:
|
||||
- 记录查询方式:证书编号或手机号。
|
||||
- 记录姓名。
|
||||
- 手机号脱敏。
|
||||
- 记录匹配数量。
|
||||
- 记录失败查询,但不记录验证码。
|
||||
|
||||
- 公开下载证书:
|
||||
- 记录证书编号。
|
||||
- 记录学员姓名。
|
||||
- 记录项目代码。
|
||||
- 不记录公开 token 原文。
|
||||
|
||||
## 自行决策记录
|
||||
|
||||
- 一期优先增强后台日常可用性,不引入新的日志表结构。
|
||||
- 风险等级先由操作类型在服务端/前端映射计算,避免为当前版本增加迁移复杂度。
|
||||
- 敏感信息在摘要里脱敏,完整详情尽量不写入明文手机号或 token。
|
||||
- 公开查询/下载先进入同一张操作日志表,操作人 ID 为空,用“公开访问”对象类型区分。
|
||||
Reference in New Issue
Block a user