如何快速搭建企业级RBAC权限系统?Pig框架的完整指南 🚀
【免费下载链接】pig 项目地址: https://gitcode.com/gh_mirrors/pig/pig
Pig是一个基于Spring Cloud 2023、Spring Boot 3.3和OAuth2的企业级RBAC权限管理系统,支持微服务与单体架构双模式,集成Spring Authorization Server安全认证,并提供Kubernetes容器化部署支持。采用Apache-2.0开源协议,完全免费商用。
📋 核心技术栈速览
后端架构
- 核心框架:Spring Cloud 2023、Spring Boot 3.3
- 安全认证:OAuth2 + Spring Authorization Server
- 开发语言:Java 17+(推荐jdk17分支)
- 构建工具:Maven
- 容器化:Docker + Docker Compose
前端技术
- 框架:Vue.js 3.4+
- 组件库:Element Plus 2.7+
🔥 3步极速上手流程
1️⃣ 环境准备 checklist ✅
- JDK安装:确保本地已安装Java 17或更高版本(
jdk17分支必填) - Maven配置:推荐使用Maven 3.8+,配置阿里云镜像加速依赖下载
- Docker环境:安装Docker Desktop并启动服务(Windows需开启WSL2支持)
- IDE选择:建议使用IntelliJ IDEA,提前安装Lombok、Spring Boot插件
2️⃣ 项目获取与构建 ⚙️
# 克隆项目仓库
git clone https://gitcode.com/gh_mirrors/pig/pig -b jdk17
# 进入项目根目录
cd pig
# 编译打包(跳过测试加速构建)
mvn clean install -DskipTests
# 启动所有服务(后台运行)
docker-compose up -d
⚠️ 注意:首次构建可能需要10-15分钟,取决于网络速度。若遇依赖下载失败,可删除
~/.m2/repository缓存后重试。
3️⃣ 模块启动与访问 🌐
| 模块名称 | 作用描述 | 启动类位置 | 默认端口 |
|---|---|---|---|
| pig-auth | 统一授权服务 | pig-auth/src/main/java/com/pig4cloud/pig/auth/PigAuthApplication.java | 3000 |
| pig-upms-biz | 用户权限管理 | pig-upms/pig-upms-biz/src/main/java/com/pig4cloud/pig/admin/PigAdminApplication.java | 4000 |
| pig-gateway | API网关服务 | pig-gateway/src/main/java/com/pig4cloud/pig/gateway/PigGatewayApplication.java | 9999 |
🧩 核心模块功能解析
🔐 认证授权中心(pig-auth)
负责统一身份认证和令牌管理,核心实现包括:
- 基于OAuth2的多端认证(密码模式、客户端模式、短信验证码模式)
- 自定义令牌生成器:CustomeOAuth2AccessTokenGenerator
- 图形验证码端点:ImageCodeEndpoint
👥 用户权限管理(pig-upms-biz)
提供企业级组织架构与权限控制功能:
- 用户/角色/菜单管理:SysUserController
- 数据权限隔离:基于MyBatis拦截器实现行级权限过滤
- 字典管理:SysDictController
🛠️ 公共组件库(pig-common)
包含支撑系统运行的基础组件:
- pig-common-core:工具类、常量定义、全局异常处理
- pig-common-security:安全工具类、资源服务器配置
- pig-common-mybatis:分页插件、字段自动填充、逻辑删除
💡 新手避坑指南
🚫 常见错误解决方案
-
启动时报数据库连接失败
- 检查db目录下SQL文件是否已自动执行(Docker启动时会自动初始化)
- 手动执行:
docker exec -it pig-mysql mysql -uroot -p123456 < db/pig.sql
-
前端页面404
- 确认pig-gateway服务是否正常启动
- 检查路由配置:GatewayConfiguration
-
依赖冲突问题
- 使用
mvn dependency:tree分析依赖树 - 统一版本管理:pig-common-bom/pom.xml
- 使用
📝 开发规范建议
-
代码风格:使用项目内置的spring-javaformat插件格式化代码
mvn spring-javaformat:apply -
分支管理
- 功能开发基于
dev分支创建feature分支 - 提交信息格式:
[模块名] 功能描述,例:[auth] 新增微信登录支持
- 功能开发基于
-
配置管理
- 公共配置:pig-common-core/src/main/resources/application.yml
- 环境区分:使用
application-dev.yml(开发)、application-prod.yml(生产)
📚 进阶学习资源
系统设计文档
- 架构设计:pig-common-core/src/main/java/com/pig4cloud/pig/common/core/config/
- 安全设计:pig-common-security/src/main/java/com/pig4cloud/pig/common/security/
代码生成工具
内置代码生成模块可快速生成CRUD代码:
- 代码生成器:pig-visual/pig-codegen
- 使用方法:启动pig-codegen服务后访问 http://localhost:5003
🎯 总结
Pig框架通过微服务架构与RBAC权限模型的深度结合,为企业级应用开发提供了开箱即用的解决方案。无论是快速搭建后台管理系统,还是构建复杂的多端权限体系,都能显著降低开发成本。建议新手从单体模式(pig-boot)入手,逐步掌握微服务拆分原则,通过实际项目积累最佳实践经验。
💡 小技巧:关注项目issue区,定期同步官方更新,及时修复安全漏洞和性能优化点。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



