Giter VIP home page Giter VIP logo

wxiaoqi / spring-cloud-platform Goto Github PK

View Code? Open in Web Editor NEW
6.3K 350.0 2.4K 207.3 MB

🔥🔥🔥国内首个Spring Cloud微服务化RBAC的管理平台,核心采用Spring Boot 2.4、Spring Cloud 2020.0.0 & Alibaba,前端采用d2-admin中台框架。 🔝 🔝 记得上边点个star 关注更新

License: Other

Java 76.35% PLpgSQL 21.13% Shell 1.79% Dockerfile 0.13% Batchfile 0.61%
spring-cloud spring-boot jwt spring-cloud-alibaba spring-cloud-loadbalancer spring-cloud-gateway

spring-cloud-platform's Introduction

Cloud-Platform

Cloud-Platform是国内首个基于Spring Cloud服务开发平台,具有统一授权、认证后台管理系统,其中包含具备用户管理、资源权限管理、网关API 管理等多个模块,支持多业务系统并行开发,可以作为后端服务的开发脚手架。代码简洁,架构清晰,适合学习和直接项目中使用。 核心技术采用Spring Boot 2.4.1Spring Cloud (2020.0.0)以及Spring Cloud Alibaba 2.2.4 相关核心组件,采用Nacos注册和配置中心,集成流量卫兵Sentinel,前端采用vue-element-admin组件,Elastic Search自行集成。

QQ群号:169824183(1)、592462556(2)、661605461(3)

公众号

输入图片说明

开源用户登记,宣传用:点击打开

最新更新日志,点击查看

基础文档,点击查看

模块说明

架构图

架构摘要

中台化前端

集成d2admin中台化前端,优化前端架构和功能布局,支撑中台服务化的应用开发。

JWT鉴权

通过JWT的方式来进行用户认证和信息传递,保证服务之间用户无状态的传递。

监控

利用Spring Boot Admin 来监控各个独立Service的运行状态;利用Hystrix Dashboard来实时查看接口的运行状态和调用频率等。

负载均衡

将服务保留的rest进行代理和网关控制,除了平常经常使用的node.js、nginx外,Spring Cloud系列的zuul和ribbon,可以帮我们进行正常的网关管控和负载均衡。其中扩展和借鉴国外项目的扩展基于JWT的Zuul限流插件,方面进行限流。

服务注册与调用

基于Nacos来实现的服务注册与调用,在Spring Cloud中使用Feign, 我们可以做到使用HTTP请求远程服务时能与调用本地方法一样的编码体验,开发者完全感知不到这是远程方法,更感知不到这是个HTTP请求。

熔断与流控

集成阿里Sentinel进行接口流量控制,通过熔断和降级处理避免服务之间的调用“雪崩”。


功能截图

基本功能

功能截图

用户模块

菜单模块

角色授权

角色类型

操作日志 输入图片说明 输入图片说明 输入图片说明 输入图片说明

输入图片说明

输入图片说明

输入图片说明

输入图片说明

License

Apache License Version 2.0

spring-cloud-platform's People

Contributors

544654811 avatar hwc9898706 avatar wxiaoqi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

spring-cloud-platform's Issues

前端菜单菜单管理无法显示菜单项

前端修改:
getList() {
fetchTree(this.listQuery).then(data => {
this.treeData = data
});
},
修改为:
getList() {
fetchTree(this.listQuery).then(data => {
this.treeData = data.data
});
},

或者直接修改后端接口返回

the Client token expired qustion

    当admin服务  Client token expired(目前设置3600),在gate网关执行ZuulFilter run方法 使用admin服务外部方法出错 。请问使用什么方案解决? 对feign服务是否考虑不超时设置?
   看到大牛有refresh刷新方法,但还未实现,是后期准备开发的吗?

spring cloud gateway中不要使用同步库

注意到网关使用的spring-cloud-gateway,这种异步网关的线程资源是有限的,默认是跟核数走,如果使用同步阻塞库,会有低吞吐的问题,AccessGatewayFilter里使用的Fegin做远程调用是同步方式,建议改成webClient并复用gateway默认初始化的netty版httpclient

lose parameter in gate.v2 project

1.springcloud version Finchley.RC1
2.spring boot 2.0.1
issue case:
DiscoveryClientRouteDefinitionLocator needs two parameters,but in the RouteConfiguration, only one,so that it could not compile the class .

加不了qq群

博主好,申请加qq群加不了。请邀请下QQ:1028826685

开源用户登记

如果有将开源版的AG-Admin用于企业项目的人儿,请在此登记,便于宣传。谢谢啦!

格式: 公司、首页网址

如何添加其他模块?

在此之上扩展成一个商城,增加一个商城前端,该如何添加,仿照ace-admin做一直报错

client token

请教一下,ace-admin swagger里面,调用接口报Client token is null or empty 这个怎么解决?

feign.FeignException$ServiceUnavailable: [503 Service Unavailable]

020-11-02 10:12:21.999 INFO [ace-gateway,,,] 3437 --- [erListUpdater-0] c.netflix.config.ChainedDynamicProperty : Flipping property: ace-admin.ribbon.ActiveConnectionsLimit to use NEXT property: niws.loadbalancer.availabilityFilteringRule.activeConnectionsLimit = 2147483647
2020-11-02 10:12:22.788 ERROR [ace-gateway,,,] 3437 --- [ main] c.g.w.s.a.c.runner.AuthClientRunner : 初始化加载用户pubKey失败,1分钟后自动重试!

feign.FeignException$ServiceUnavailable: [503 Service Unavailable] during [POST] to [http://ace-admin/client/userPubKey?clientId=ace-gate&secret=123456] [ServiceAuthFeign#getUserPublicKey(String,String)]: []
at feign.FeignException.serverErrorStatus(FeignException.java:237) ~[feign-core-10.10.1.jar:na]
at feign.FeignException.errorStatus(FeignException.java:180) ~[feign-core-10.10.1.jar:na]
at feign.FeignException.errorStatus(FeignException.java:169) ~[feign-core-10.10.1.jar:na]
at feign.codec.ErrorDecoder$Default.decode(ErrorDecoder.java:92) ~[feign-core-10.10.1.jar:na]
at feign.AsyncResponseHandler.handleResponse(AsyncResponseHandler.java:96) ~[feign-core-10.10.1.jar:na]
at feign.SynchronousMethodHandler.executeAndDecode(SynchronousMethodHandler.java:138) ~[feign-core-10.10.1.jar:na]
at feign.SynchronousMethodHandler.invoke(SynchronousMethodHandler.java:89) ~[feign-core-10.10.1.jar:na]
at feign.ReflectiveFeign$FeignInvocationHandler.invoke(ReflectiveFeign.java:100) ~[feign-core-10.10.1.jar:na]
at com.sun.proxy.$Proxy121.getUserPublicKey(Unknown Source) ~[na:na]
at com.github.wxiaoqi.security.auth.client.runner.AuthClientRunner.refreshUserPubKey(AuthClientRunner.java:43) ~[classes/:na]
at com.github.wxiaoqi.security.auth.client.runner.AuthClientRunner.run(AuthClientRunner.java:36) ~[classes/:na]
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:795) [spring-boot-2.3.0.RELEASE.jar:2.3.0.RELEASE]
at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:779) [spring-boot-2.3.0.RELEASE.jar:2.3.0.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:322) [spring-boot-2.3.0.RELEASE.jar:2.3.0.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1237) [spring-boot-2.3.0.RELEASE.jar:2.3.0.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226) [spring-boot-2.3.0.RELEASE.jar:2.3.0.RELEASE]
at com.github.wxiaoqi.security.gate.GatewayServerBootstrap.main(GatewayServerBootstrap.java:22) [classes/:na]

npm 版本不一致时报错

Your current PostCSS version is 5.2.18, but autoprefixer uses 6.0.23. Perhaps this is the source of the error below.
麻烦请教您,有好的解决方法没

登录问题

登录返回加密token 有问题 导致解密失败
String token = jwtTokenUtil.generateToken(jwtInfo);
Map<String, String> result = new HashMap<>();
result.put("accessToken", token);
result.put("id", info.id);

直接返回token就行

安全问题

开源版本存在严重的安全问题,微服务网关ace-gate的访问控制能被绕过,攻击者可获得签发jwt的私钥以任意用户身份登录。
希望能和作者邮件沟通下漏洞细节和修复方案。

用户Token过期异常

请问,前后端及所需环境都安装好并启动进程后,都是按照顺序启动的,报错:用户Token过期异常。具体日志如下,这个请问具体是怎么处理?多谢指导!

2020-09-30 16:33:31.120 INFO [ace-gateway,50f8512ec9f1194c,50f8512ec9f1194c,false] 2992 --- [ctor-http-nio-2] c.g.w.s.gate.filter.AccessGatewayFilter : check token and user permission....
2020-09-30 16:33:31.123 ERROR [ace-gateway,50f8512ec9f1194c,50f8512ec9f1194c,false] 2992 --- [ctor-http-nio-2] c.g.w.s.gate.filter.AccessGatewayFilter : 用户Token过期异常

java.lang.NullPointerException: value
at io.netty.util.internal.ObjectUtil.checkNotNull(ObjectUtil.java:33) ~[netty-common-4.1.31.Final.jar:4.1.31.Final]
at io.netty.handler.codec.DefaultHeaders.addObject(DefaultHeaders.java:327) ~[netty-codec-4.1.31.Final.jar:4.1.31.Final]
at io.netty.handler.codec.http.DefaultHttpHeaders.add(DefaultHttpHeaders.java:117) ~[netty-codec-http-4.1.31.Final.jar:4.1.31.Final]

开源版有用户管理功能?

你好
我在Github上clone了你的开源版项目,可是我没发现有与用户相关的管理接口,比如添加用户,查找用户等,但是在你的ReadMe文件中指出开源版是有用户管理功能的,请问这是什么情况呢?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.