0x676e67 / mayi

基于RBAC、OAuth2.1认证模式的微服务动态权限脚手架

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

项目描述

基于RBAC模型的系统核心设计,OAuth2认证的基础上拓展打造分布式微服务开发脚手架,实现主要功能:RBAC权限管理、OAuth2.1认证管理、安全管理、服务监控等。

主要技术栈

  • 开发框架:Spring Boot 2.6.1
  • 微服务框架:Spring Cloud 2021.0.0
  • 认证服务器:Authorization Server 0.2.1
  • 安全框架:Spring Security 5.5.0
  • 持久层框架:MyBatis-Plus 3.3.1
  • 数据库连接池:Druid、Hikari
  • 服务注册与发现: Nacos
  • 客户端负载均衡:Ribbon
  • 服务监控:Spring Boot Actuator、Spring boot Admin
  • 网关组件:Spring Gateway
  • 运行容器:Undertow

运行/Run

  • 克隆项目
$ git clone https://github.com/gngpp/mayi.git && cd mayi
  • 本地运行

Run前提需要安装中间件:MySQLRedisNacos, 运行顺序 Redis\MySQL\Nacos。根目录bootstrap.yml需要指定dev环境,之后再启动系统每个服务。

$ ./gradlew task mayi-gateway:bootRun --args="--spring.config.additional-location=$(pwd)/bootstrap.yml"   
$ ./gradlew task mayi-auth:bootRun --args="--spring.config.additional-location=$(pwd)/bootstrap.yml"        
$ ./gradlew task mayi-upms:mayi-upms-biz:bootRun --args="--spring.config.additional-location=$(pwd)/bootstrap.yml"       
$ ./gradlew task mayi-visual:mayi-visual-admin:bootRun --args="--spring.config.additional-location=$(pwd)/bootstrap.yml"    
  • Docker运行

本地环境测试,只运行MySQLRedisNacos,根目录bootstrap.yml需要指定dev环境

$ docker-compose -f docker-compose-test.yml up -d
$ ./gradlew task mayi-gateway:bootRun --args="--spring.config.additional-location=$(pwd)/bootstrap.yml"   
$ ./gradlew task mayi-auth:bootRun --args="--spring.config.additional-location=$(pwd)/bootstrap.yml"        
$ ./gradlew task mayi-upms:mayi-upms-biz:bootRun --args="--spring.config.additional-location=$(pwd)/bootstrap.yml"       
$ ./gradlew task mayi-visual:mayi-visual-admin:bootRun --args="--spring.config.additional-location=$(pwd)/bootstrap.yml"    

本地环境开发(包含所有服务),需要先本地构建项目所有服务jar包,根目录bootstrap.yml需要指定prod环境

$ ./gradlew task clean
$ ./gradlew task bootJar 
$ docker-compose -f docker-compose-dev.yml up -d

正式环境发布(包含所有服务),过程:源码-成品-运行,根目录bootstrap.yml需要指定prod环境

$ docker-compose -f docker-compose-prod.yml up -d

配套前端Nodejs服务

mayi-web

贡献

感谢Jetbrains制作的IDE,以及免费的开源许可证。

About

基于RBAC、OAuth2.1认证模式的微服务动态权限脚手架

License:Do What The F*ck You Want To Public License


Languages

Language:Java 97.8%Language:Dockerfile 0.9%Language:HTML 0.7%Language:Shell 0.7%