Pig:4.5 万星微服务权限系统,Java 生态中最成熟的微服务权限解决方案之一。

📅 2026/7/21 20:51:00 👁️ 阅读次数 📝 编程学习
Pig:4.5 万星微服务权限系统,Java 生态中最成熟的微服务权限解决方案之一。

0. 引言:企业级开发的效率痛点

据 Gartner 统计,78% 的企业在开发新系统时选择从零搭建权限模块,平均耗时3-6 周。而市场上缺乏真正开箱即用的微服务权限解决方案——要么太重(如 SAP),要么太轻(无法满足 RBAC 需求)。

Pig 正是为了解决这一痛点而生。作为 Gitee 上45,000+ Star的 GVP 项目,它提供了基于 Spring Boot 4.0 + Spring Cloud 2025 的企业级 RBAC 权限管理系统,支持微服务和单体双架构。


1. 项目背景及简介

Pig 是一个基于Spring Cloud、Spring Boot、OAuth2的 RBAC 企业级快速开发平台。由 lengleng 发起并维护,是 Gitee 上 Star 数最高的 Java 开源项目之一。

核心定位:提供生产级微服务权限管理方案,让开发者专注于业务逻辑,而非重复造轮子。

模块说明

pig-ui -- https://gitee.com/log4j/pig-ui pig ├── pig-boot -- 单体模式启动器[9999] ├── pig-auth -- 授权服务提供[3000] └── pig-common -- 系统公共模块 ├── pig-common-bom -- 全局依赖管理控制 ├── pig-common-core -- 公共工具类核心包 ├── pig-common-datasource -- 动态数据源包 ├── pig-common-log-- 日志服务 ├── pig-common-oss -- 文件上传工具类 ├── pig-common-mybatis -- mybatis 扩展封装 ├── pig-common-seata -- 分布式事务 ├── pig-common-websocket -- websocket 封装 ├── pig-common-security -- 安全工具类 ├── pig-common-swagger -- 接口文档 ├── pig-common-feign -- feign 扩展封装 └── pig-common-xss -- xss 安全封装 ├── pig-register -- Nacos Server[8848] ├── pig-gateway -- Spring Cloud Gateway网关[9999] └── pig-upms -- 通用用户权限管理模块 └── pig-upms-api -- 通用用户权限管理系统公共api模块 └── pig-upms-biz -- 通用用户权限管理系统业务处理模块[4000] └── pig-visual └── pig-monitor -- 服务监控 [5001] ├── pig-codegen -- 图形化代码生成 [5002] └── pig-quartz -- 定时任务管理台 [5007]

2. 目标客户

  • 企业后端开发团队:需要快速搭建后台管理系统

  • SaaS 服务商:需要多租户权限管理能力

  • 政府/金融项目:对安全性要求极高的行业

  • Spring Cloud 学习者:想学习企业级微服务架构的开发者

  • 外包公司:需要标准化快速交付方案


3. 平台定位

**"企业级微服务快速开发平台"**——不仅仅是权限系统,更是一套完整的微服务基础设施,涵盖网关、认证、代码生成、定时任务、服务监控等全链路组件。


4. 平台技术

  • 后端:Spring Boot 3.5.12 + Spring Cloud 2025 + Spring Cloud Alibaba

  • 认证:Spring Authorization Server(SAS OAuth2 生产级实践)

  • ORM:MyBatis Plus 3.5.15

  • 前端:Vue 3.5 + Element Plus 2.8

  • 容器化:支持 Kubernetes、Rancher2、KubeSphere、EDAS、SAE

  • 网关:Spring Cloud Gateway

  • 服务注册:Nacos

核心模块

pig ├── pig-boot -- 单体模式启动器 [9999] ├── pig-auth -- 授权服务 [3000] ├── pig-gateway -- 网关 [9999] ├── pig-upms -- 用户权限管理 [4000] ├── pig-common -- 公共模块(日志/文件/安全/事务/WebSocket) └── pig-visual -- 可视化组件(监控/代码生成/定时任务)

5. 平台核心功能

  • RBAC 权限管理:用户-角色-权限三级模型,支持数据权限控制

  • OAuth2 认证:基于 Spring Authorization Server,支持多种授权模式

  • 代码生成:图形化配置,一键生成前后端代码

  • 定时任务:可视化配置,支持 Cron 表达式

  • 服务监控:集成 Spring Boot Admin,实时监控服务状态

  • 文件管理:支持本地、OSS、MinIO 等多种存储方式

  • 日志审计:操作日志、异常日志自动记录

  • 多租户:支持 SaaS 模式的多租户架构


6. 平台独特优势

  • GVP 项目:Gitee 最有价值开源项目,社区活跃度高

  • 双架构支持:同一套代码,可部署为微服务或单体应用

  • 生产级实践:Spring Authorization Server 的真实落地方案

  • Docker 一键体验docker compose up即可运行完整环境

  • Apache 2.0 协议:可自由商业使用,保留作者信息即可

  • 完善文档:wiki.pig4cloud.com 提供详尽的开发和部署指南


7. 平台安装使用

Docker 快速体验(推荐)

# 确保可用内存大于 4G curl -o docker-compose.yaml https://try.pig4cloud.com docker compose up

等待 5 分钟,访问http://localhost:9999即可。

源码方式启动

# 克隆项目 git clone https://gitee.com/log4j/pig.git cd pig # 启动 Nacos(服务注册中心) cd pig-register docker compose up -d # 启动网关 cd pig-gateway mvn spring-boot:run # 启动认证服务 cd pig-auth mvn spring-boot:run # 启动业务模块 cd pig-upms/pig-upms-biz mvn spring-boot:run

代码示例:自定义权限注解

@RestController @RequestMapping("/sys/user") @HasPermission("sys:user") // 权限校验注解 publicclass SysUserController { @GetMapping("/list") @SneakyThrows @HasPermission("sys:user:read") // 细粒度权限控制 public R<IPage<SysUserVo>> list( @Parameter(description = "分页信息") Page page, SysUserVO userVO ) { return R.ok(sysUserService.getPage(page, userVO)); } }

8. 应用场景及案例说明

  • 场景 1:企业内部管理系统— 快速搭建 HR、财务、OA 等后台系统,权限模块开箱即用

  • 场景 2:SaaS 多租户平台— 利用内置的多租户能力,快速构建面向企业的 SaaS 产品

  • 场景 3:微服务学习— 作为 Spring Cloud 最佳实践的参考项目,学习网关、认证、监控等组件的集成方式


总结

Pig 的价值在于:让企业级开发不再从零开始。45,000+ Star 的社区认可度、完善的功能模块、双架构的灵活部署方式,使其成为 Java 生态中最成熟的微服务权限解决方案之一。

对于需要快速搭建后台系统的团队来说,Pig 可以将原本需要数周的权限模块开发时间缩短到几天甚至几小时

项目地址:https://gitee.com/log4j/pig