feat: 优化发布清单和安装结构自动识别

This commit is contained in:
2026-07-15 06:33:33 +00:00
parent 0548692db0
commit 4df439b5ce
28 changed files with 1702 additions and 198 deletions
+8 -4
View File
@@ -19,14 +19,18 @@ async def admin_audit_middleware(request: Request, call_next):
finally:
if should_audit:
try:
token = request.headers.get("X-Admin-Token", "")
principal = getattr(request.state, "admin_principal", None)
token = request.headers.get("authorization", "") or request.headers.get("X-Admin-Token", "")
conn = db.get_conn()
conn.execute(
"""INSERT INTO admin_audit_logs
(actor_hash,action,method,path,target,result,status_code,ip,user_agent)
VALUES(?,?,?,?,?,?,?,?,?)""",
(actor_hash,actor_username,actor_roles,auth_type,action,method,path,target,result,status_code,ip,user_agent)
VALUES(?,?,?,?,?,?,?,?,?,?,?,?)""",
(
token_digest(token)[:16] if token else "anonymous",
principal.actor_hash if principal else (token_digest(token)[:16] if token else "anonymous"),
principal.username if principal else "anonymous",
",".join(principal.roles) if principal else "",
principal.auth_type if principal else "",
request.url.path.removeprefix("/admin/"),
request.method,
request.url.path,