ReactAdmin 是一套基于 RBAC 模型的后台管理脚手架。
做这个项目的初衷很简单:市面上大多数后台管理系统要么太重,依赖一堆复杂组件,上手门槛高;要么太轻,只搭了个壳子,离实际开发还有一段距离。我希望能做一个介于两者之间的东西——功能完整,但结构足够清晰,代码也足够干净。
整个系统只有 7 张表,但用户管理、角色权限、菜单配置、操作日志、文件管理、数据字典这些后台必备的能力全都包含在内。你可以把它当成一个“刚刚好”的起点,无论是拿来直接做项目,还是作为学习 RBAC 和 Spring Boot + React 全家桶的示例,都挺合适。
登录账号:admin / admin123
- 编程语言: Java 21
- 框架: Spring Boot 3.2.0
- 持久层: MyBatis-Plus 3.5.15
- 安全认证: Sa-Token 1.40.0
- 数据库连接池: Druid 1.2.20
- 文档工具: Knife4j 4.4.0
- 后端仓库: ReactAdmin
- 运行环境: Node.js 22.17.0
- React版本: 19.x
- 构建工具: Vite 7.x
- UI框架: Ant Design React 5.x
- 前端仓库: ReactAdminFront
如果没有数据库需要预先安装数据库。执行命令:
mvn clean install参考下面的数据库配置示例,文件存储配置示例,缓存配置示例 修改配置文件 application-dev.yml,并启动项目。
To start the frontend application, simply run these two commands:
npm install
npm run dev项目支持多种主流数据库,可根据实际需求灵活切换:
- MySQL
- SQL Server
- PostgreSQL
- Oracle
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
druid:
# SQL Server 配置示例,可以按需改成MySQL,Oracle,PostgreSQL数据库等
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
url: jdbc:sqlserver://localhost:1433;DatabaseName=test;encrypt=false
username: sa
password: admin123项目支持多种文件存储方案,满足不同部署环境的需求:
- 本地存储: 直接保存到服务器本地文件系统
- MinIO: 分布式对象存储解决方案
- 阿里云OSS: 阿里云对象存储服务
- 华为云OBS: 华为云对象存储服务(已集成但未启用)
- 七牛云: 七牛云对象存储服务(已集成但未启用)
os:
file:
type: MINIO # 支持 LOCAL, MINIO, ALIYUN 等
local:
base-path: ./uploads # 本地存储路径
minio:
endpoint: http://localhost:9000
access-key: admin
secret-key: password
aliyun:
endpoint: your-endpoint
access-key-id: your-access-key-id
access-key-secret: your-access-key-secret项目支持多种缓存实现,提升系统性能:
- Redis: 分布式缓存,支持集群部署
- 本地缓存: 基于 Caffeine 的高性能本地缓存
os:
cache:
type: REDIS # 支持 LOCAL, REDIS
redis:
# ip: 10.10.10.181
ip: localhost
port: 6379
password: '123456'
database: 0- 用户管理: 用户账号、个人信息管理
- 角色管理: 权限分配与角色管理
- 菜单管理: 动态菜单配置
- 系统日志: 操作审计日志
- 数据字典: 系统参数配置
- 文件管理: 多存储后端文件管理
- 权限控制: 基于 RBAC 模型的细粒度权限控制
- 身份认证: Sa-Token 实现的会话管理和认证
- 审计日志: 完整的操作记录和审计追踪
项目支持多环境配置(开发、测试、生产),通过 Maven Profile 管理:
- dev: 开发环境
- test: 测试环境
- prod: 生产环境
支持多数据源动态切换,可在配置文件中灵活调整数据库连接参数。
- 中大型企业管理系统的后台支撑
- 需要复杂权限控制的业务系统
- 对数据安全和审计有要求的应用
- 高扩展性: 插件化的存储和缓存系统
- 多环境适配: 一套代码适应不同部署环境
- 开箱即用: 完整的权限管理和基础功能模块
- 技术前沿: 采用最新的 Java 21 和 Spring Boot 3.2.0
如果要用一句话概括 ReactAdmin,那就是:该有的都有,不该有的绝不乱加。
它不像一些重型框架那样让你花大量时间理解它的约定和插件机制,也不像简单的 demo 那样只能看看不能实战。我们在设计时最看重两件事:一是核心功能要完整,权限、日志、存储、缓存这些企业级必备的能力都要覆盖;二是扩展要简单,数据库可以从 MySQL 切到 PostgreSQL,文件存储可以从本地换成 MinIO 或阿里云,缓存可以从本地切到 Redis,改几行配置就能搞定。
这套简单的RBAC系统目前还在开发中,不敢说完美,但胜在实在。欢迎提 Issue 或一起贡献代码,让这个项目对更多人有用。








