目录

springBoot-admin

基于 Spring Boot 3 + Spring Security + JPA + JWT + SpringDoc 的后台管理后端项目。

已实现

  • 用户名密码登录接口:POST /api/auth/login
  • 受保护用户信息接口:GET /api/auth/me
  • 首页概览统计:GET /api/home/overview
  • 用户 / 角色 / 菜单 / 字典 / 部门 / 岗位管理
  • 系统配置与邮件/短信/推送测试
  • 在线用户与强退
  • 定时任务与执行日志
  • 缓存监控、服务监控、SQL监控
  • 服务器管理(演示型 SSH 管理)
  • API访问统计
  • 系统通知管理与站内实时推送
  • BCrypt 密码加密存储
  • JWT 令牌签发与校验
  • 连续失败锁定账号
  • 登录审计表记录 IP、User-Agent 和失败原因
  • 内置 H2 文件数据库便于本地启动
  • Swagger OpenAPI 文档
  • 提供 MySQL 建表脚本:src/main/resources/mysql-schema.sql

默认账号

  • 用户名:admin
  • 密码:Admin@123456

运行

mvn spring-boot:run

默认端口是 8888

本地未显式指定 SPRING_DATASOURCE_URL 时,后端会固定使用 ~/.xxt-admin/data/springboot-admin.mv.db。 这样即使你从不同目录执行 mvn spring-boot:run 或直接运行 Jar,也不会因为相对路径不同而写到两份数据库文件里。

说明:

  • Hibernate 启动时打印的 Database info 中出现 Database driver: undefined/unknown 等信息,通常只是元数据未完整暴露,不是数据库连接失败。
  • 如果启动失败,优先查看后续真正的异常堆栈,例如端口占用、SQL 语法错误、表不存在等。

Swagger

  • 文档地址:http://localhost:8888/swagger-ui.html
  • OpenAPI JSON:http://localhost:8888/v3/api-docs

主要模块接口

  • 认证:/api/auth/*
  • 首页:/api/home/*
  • 用户管理:/api/users/*
  • 角色管理:/api/roles/*
  • 菜单管理:/api/menus/*
  • 字典管理:/api/dicts/*
  • 系统配置:/api/system-config/*
  • 在线用户:/api/monitor/online-users/*
  • 定时任务:/api/jobs/*
  • 缓存监控:/api/monitor/cache/*
  • 服务监控:/api/monitor/server
  • SQL监控:/api/monitor/sql
  • 服务器管理:/api/monitor/server-nodes/*
  • API访问统计:/api/monitor/api-stats
  • 系统通知:/api/notices/*

数据库说明

  • 默认使用文件型 H2
  • 核心初始化脚本:
    • src/main/resources/schema.sql
    • src/main/resources/data.sql
  • MySQL 建表脚本:
    • src/main/resources/mysql-schema.sql
  • 运行时增量补表与演示数据逻辑:
    • src/main/java/com/example/springbootadmin/config/DatabaseBootstrapRunner.java

实时能力说明

  • 在线用户强退通过 websocket 下发 kickout
  • 系统通知发布后通过现有 /ws/chat 通道广播 system_notice
  • 缓存监控、服务监控、SQL监控采用服务端实时采样/内存滚动数据,前端轮询刷新

当前限制

  • 服务器管理当前为演示型 SSH 管理,不会真实建立远程交互式终端
  • SQL 监控当前为演示型实时数据,不是数据库真实慢查询采集
  • 缓存监控当前为内存态模拟缓存,不依赖 Redis

登录请求

POST /api/auth/login
Content-Type: application/json

{
  "username": "admin",
  "password": "Admin@123456"
}

安全说明

  • 数据库存储的是 BCrypt 哈希,不保存明文密码
  • 登录失败达到阈值后自动锁定账号
  • 返回统一错误信息,避免过度暴露用户名是否存在
  • 受保护接口必须携带 Authorization: Bearer <token>
关于
88.1 MB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号