目录

springBoot-admin

基于 Spring Boot 3 + Spring Security + JPA + JWT 的后台登录后端项目。

已实现

  • 用户名密码登录接口:POST /api/auth/login
  • 受保护用户信息接口:GET /api/auth/me
  • 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

登录请求

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

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

安全说明

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

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