20261021-login-audit.sql 1.3 KB

1234567891011121314151617181920212223242526272829303132
  1. -- 在应用数据库执行;不会自动执行或修改历史登录数据。
  2. CREATE TABLE IF NOT EXISTS login_audit (
  3. id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  4. login_type VARCHAR(32) NULL,
  5. login_id VARCHAR(64) NULL,
  6. account VARCHAR(256) NULL,
  7. login_method VARCHAR(64) NOT NULL,
  8. result VARCHAR(32) NOT NULL,
  9. reason VARCHAR(128) NULL,
  10. remote_ip VARCHAR(64) NULL,
  11. forwarded_for VARCHAR(1024) NULL,
  12. real_ip VARCHAR(64) NULL,
  13. user_agent VARCHAR(1024) NULL,
  14. browser VARCHAR(64) NULL,
  15. os VARCHAR(64) NULL,
  16. device VARCHAR(128) NULL,
  17. request_path VARCHAR(512) NULL,
  18. http_method VARCHAR(16) NULL,
  19. duration_ms BIGINT NULL,
  20. created_time DATETIME NOT NULL,
  21. update_time DATETIME NOT NULL,
  22. KEY idx_login_identity (login_type, login_id, created_time),
  23. KEY idx_login_account (account(100), created_time),
  24. KEY idx_login_remote (remote_ip, created_time),
  25. KEY idx_login_time (created_time),
  26. KEY idx_login_result (result, created_time)
  27. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  28. -- 先核实后台日志父菜单 id,再在现有菜单管理添加页面。
  29. -- 查询接口仅 root 可访问,不接受普通用户 token。
  30. -- 示例只读核查:
  31. -- SELECT * FROM login_audit ORDER BY id DESC LIMIT 100;