docs/sql/20261021-login-audit.sql。GET /manage/login/audit/get?start=1&limit=20。
当前交付查询接口和表,不包含单独前端页面,前端项目不在此仓库。支持 loginType、loginId、account、result、loginMethod、ip、from、to。
时间格式 yyyy-MM-dd HH:mm:ss,URL 编码空格;沿用应用/数据库时间设置。
每页最多 100 条,按 id 倒序;只有后台精确角色 root 可以读取。
/manage/login/audit/get?loginType=user&loginId=1533797&start=1&limit=20
/manage/login/audit/get?result=FAILURE&start=1&limit=20
loginType:Sa-Token 身份域(普通用户 user,默认后台 login,其他身份域保留原值)。loginId:实际创建会话的身份 ID;失败时不猜测目标 ID。account:当前请求白名单 phone/email/login 字段;微信等没有提交账号的请求可为空。loginMethod:短信、邮箱、Google、微信、小程序、后台凭据检查、管理员代登录、切换账号等;
未识别入口标记 other,不猜测。方式来自已执行接口和安全字段,UA 仅辅助证据。SUCCESS/session_created:全局 Sa-Token doLogin 事件,覆盖应用创建的各类登录会话。CHECK_SUCCESS/password_check_passed:后台密码预检查通过,不等于已签发登录会话。FAILURE:登录处理入口抛出异常,原因记录异常类型,不保存可能含凭据的异常原文。
微信发起授权/轮询未完成不计成功;仅返回业务失败而未抛异常的第三方入口需另行适配。remoteIp:真实 socket 对端地址。forwardedFor、realIp 原样限长留存,
是未验证代理头,可能伪造,不当作已确认客户端 IP。ip 筛选匹配 remoteIp 或 realIp。userAgent、browser、os、device:浏览器原始 UA、粗粒度解析、Sa-Token 设备。requestPath、httpMethod:不含查询字符串;不记录请求体、Cookie、Authorization、密码、验证码、token。createdTime、durationMs:事件时间和到事件发生时的耗时(不是整个 HTTP 请求耗时)。审计单独事务写入,不跟随登录业务事务回滚;失败不阻断登录,会输出
LOGIN_AUDIT_WRITE_FAILED 和白名单字段的 LOGIN_AUDIT_FALLBACK,需采集应用日志并告警。
数据库/文件故障或进程中断仍可能丢日志;生产应配合独立日志采集与备份。
尚未完成在线验收;本地 Maven 当前受现有腾讯云 SDK 依赖缺失阻断。