- 更新 changelog.md: v0.2.0 记录 M2-M8 全部完成,路线图更新 - 新增 5 篇指南: RBAC、组织管理、审计日志、通知模块、质量横切 - 新增 5 篇 API 文档: RBAC(11)、Org(5)、Audit(1)、Settings(7)、Notification(7) - 更新 api/overview.md: 完整 37 端点列表 - 更新 config.ts: 侧边栏分组 + 11 页 SEO 元数据
2.5 KiB
2.5 KiB
| title |
|---|
| 审计日志 | 操作追踪与合规记录 - MengStack官方文档 |
审计日志
审计日志模块自动记录系统中的关键操作,支持多维筛选和分页查询,满足合规审计需求。
数据模型
type AuditLog struct {
ID uint // 自增主键
TenantID string // 租户 ID
UserID uint // 操作人 ID
Action string // 操作类型(create / update / delete / login 等)
Resource string // 资源类型(user / role / tenant 等)
ResourceID string // 资源 ID
Detail string // 操作详情(JSON 格式)
IP string // 操作人 IP 地址
CreatedAt time.Time // 操作时间
}
记录时机
审计日志在以下场景自动写入:
| 场景 | Action | Resource |
|---|---|---|
| 用户注册 | create |
user |
| 用户登录 | login |
auth |
| 修改密码 | update |
user |
| 创建角色 | create |
role |
| 删除角色 | delete |
role |
| 分配角色 | assign |
user_role |
| 创建租户 | create |
tenant |
| 修改配置 | update |
setting |
查询方式
支持按用户、操作类型、资源类型筛选,并支持分页:
# 查询所有审计日志
curl http://localhost:2222/api/v1/audit/logs \
-H "Authorization: Bearer <token>" \
-H "X-Tenant-ID: <tenant_id>"
# 按用户筛选
curl "http://localhost:2222/api/v1/audit/logs?user_id=1" \
-H "Authorization: Bearer <token>" \
-H "X-Tenant-ID: <tenant_id>"
# 按操作类型筛选 + 分页
curl "http://localhost:2222/api/v1/audit/logs?action=delete&page=1&page_size=10" \
-H "Authorization: Bearer <token>" \
-H "X-Tenant-ID: <tenant_id>"
响应格式
{
"code": 0,
"message": "success",
"data": {
"items": [
{
"id": 1,
"tenant_id": "550e8400-...",
"user_id": 1,
"action": "create",
"resource": "role",
"resource_id": "5",
"detail": "{\"name\":\"editor\"}",
"ip": "192.168.1.100",
"created_at": "2026-10-03T10:00:00+08:00"
}
],
"total": 42,
"page": 1
}
}
安全特性
- 审计日志按
tenant_id严格隔离,租户只能查看自己的日志 - 日志记录不可修改、不可删除(只写不删)
- IP 地址从请求上下文中自动提取
API 端点
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /api/v1/audit/logs |
分页查询审计日志 |
详细接口参数见 审计日志 API 参考。