MM-BOOT 是一个基于 Spring Boot 4.0.2 构建的企业级权限管理系统,采用 JWT 认证和 RBAC(基于角色的访问控制)模型,提供完整的用户、角色、权限和分组管理功能。
- 后端框架: Spring Boot 4.0.2
- Java版本: 25
- 数据库: PostgreSQL
- 安全框架: Spring Security + JWT
- API文档: SpringDoc OpenAPI 3.0
- 缓存: Caffeine
- ORM: Spring Data JPA
- 构建工具: Maven
- 开发工具: Lombok
- 用户增删改查
- 用户状态管理
- 用户分组管理
- 角色增删改查
- 角色权限分配
- 角色状态管理
- 权限树形结构管理
- 权限增删改查
- 父子权限关系管理
- 组织架构树形管理
- 分组增删改查
- 分组移动和排序
- JWT令牌认证
- 登录/登出功能
- 权限验证
sys_user- 用户表sys_role- 角色表sys_permission- 权限表sys_group- 分组表user_role- 用户角色关联表role_permission- 角色权限关联表user_permission- 用户权限关联表
- Java 25
- PostgreSQL 数据库
- Maven 3.6+
- 克隆项目
git clone <repository-url>
cd mm-boot- 数据库配置
-- 创建数据库
CREATE DATABASE mm;
-- 配置数据库连接(修改 application.yaml)
spring:
datasource:
url: jdbc:postgresql://localhost:5432/mm
username: your_username
password: your_password- 生成JWT密钥对
# 生成RSA私钥
openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048
# 生成公钥
openssl rsa -pubout -in private_key.pem -out public_key.pem
# 将密钥文件放置在 src/main/resources/keys/ 目录下- 构建项目
mvn clean install- 运行项目
mvn spring-boot:run- 应用主页: http://localhost:8080
- API文档: http://localhost:8080/swagger-ui.html
- API接口: http://localhost:8080/api-docs
POST /login- 用户登录POST /logout- 用户登出
GET /user/list- 获取用户列表POST /user/add- 添加用户PUT /user/edit- 编辑用户DELETE /user/delete- 删除用户
GET /role/list- 获取角色列表POST /role/add- 添加角色PUT /role/edit- 编辑角色DELETE /role/delete- 删除角色
GET /permission/tree- 获取权限树POST /permission/add- 添加权限PUT /permission/edit- 编辑权限DELETE /permission/delete- 删除权限
GET /group/tree- 获取分组树POST /group/add- 添加分组PUT /group/edit- 编辑分组DELETE /group/delete- 删除分组
jwt:
private-key: classpath:keys/private_key.pem
public-key: classpath:keys/public_key.pem
access-expire: 900 # 15分钟
refresh-expire: 604800 # 7天spring:
cache:
type: caffeine
cache-names:
- group
caffeine:
spec: initialCapacity=100,maximumSize=10000,expireAfterWrite=30m,recordStats- 使用Lombok减少样板代码
- 遵循Spring Boot最佳实践
- 使用JPA进行数据访问
- 统一的异常处理机制
- 新增实体类:在
entity包下创建 - 新增Repository:在
repository包下创建 - 新增Service:在
service包下创建 - 新增Controller:在
controller包下创建
- 修改数据库连接为生产环境
- 配置合适的JWT过期时间
- 启用数据库DDL自动更新
- 配置日志级别和输出
- 启用数据库连接池
- 配置合适的缓存策略
- 使用数据库索引优化查询
- 启用GZIP压缩
- 数据库连接失败:检查数据库服务是否启动,连接配置是否正确
- JWT认证失败:检查密钥文件是否存在且格式正确
- 权限验证失败:检查用户角色和权限配置
应用日志输出到控制台,可通过日志级别配置查看详细信息。
本项目采用 MIT 许可证。
如有问题或建议,请联系项目维护者。