基于 Spring Cloud Greenwich.SR1 的微服务权限系统 FEBS Cloud

2019-09-09 08:48:19 +08:00
 Mrbird

FEBS Cloud 微服务权限系统

FEBS Cloud 是一款使用 Spring Cloud Greenwich.SR1 、Spring Cloud OAuth2 和 Spring Cloud Security 构建的权限管理系统,前端( FEBS Cloud Web )采用 vue element admin 构建。FEBS 意指:Fast,Easy use,Beautiful 和Safe。该系统具有如下特点:

  1. 前后端分离架构,客户端和服务端纯 Token 交互;

  2. 认证服务器与资源服务器分离,方便接入自己的微服务系统;

  3. 微服务防护,客户端请求资源只能通过微服务网关获取;

  4. 集成 Spring Boot Admin,多维度监控微服务;

  5. 集成 Zipkin,方便跟踪 Feign 调用链;

  6. 集成 ELK,集中管理日志,便于问题分析;

  7. 微服务 Docker 化,使用 Docker Compose 一键部署;

  8. 提供详细的使用文档和搭建教程;

  9. 前后端请求参数校验,Excel 导入导出,代码生成等。

项目地址

后端:https://github.com/wuyouzhuguli/FEBS-Cloud; 前端:https://github.com/wuyouzhuguli/FEBS-Cloud-Web

演示地址

http://49.234.20.223:9527

账号:scott,密码:1234qwer,权限:查看权限

文档与教程

项目文档及手摸手搭建教程地址:https://www.kancloud.cn/mrbird/spring-cloud/1263679

系统架构

目录结构

├─febs-auth                       ------ 微服务认证服务器
├─febs-cloud                      ------ 整个项目的父模块
│  └─docker compose               ------ 存放 docker compose 文件
│      ├─elk                      ------ ELK docker compose 文件
│      ├─febs-cloud               ------ 聚合所有微服务子项目的 docker compose 文件
│      └─third-part               ------ 第三方服务( MySQL,Redis 等) docker compose 文件
├─febs-common                     ------ 通用模块
├─febs-config                     ------ 微服务配置中心
├─febs-gateway                    ------ 微服务网关
├─febs-monitor                    ------ 微服务监控父模块
│  ├─febs-monitor-admin           ------ 微服务监控中心
│  └─zipkin-server                ------ zipkin 服务
├─febs-register                   ------ 微服务注册中心
└─febs-server                     ------ 资源服务器
   ├─febs-server-system           ------- 资源服务器系统模块
   └─febs-server-test             ------ 资源服务器 demo,演示如何整合自己的微服务系统

系统截图

如果该项目对您有帮助的话,还请 V 友点个 Star 给予精神鼓励~~

4577 次点击
所在节点    Java
13 条回复
tubimasky
2019-09-09 08:57:00 +08:00
支持 做权限的时候下载过
特意绑个手机回复下
hantsy
2019-09-09 09:34:45 +08:00
国人是不是特别热衷于 User 的 CRUD 管理图形界面,网上一堆都是这种东西。

我现在开发如果需要一站式的安全方案,只会考虑成熟方案:
1. 自己搭建,Keycloak 之类
2. 云服务,auth0, okta 等

当然, 采用这些方案主要基于几个考量:
1. 技术中立。不能要求我用什么技术,语言或者框架。
2. 零入侵。你不改变我的整体架构,代码编码方式。
acrisliu
2019-09-09 09:38:33 +08:00
前几年也热衷这种权限管理,可以收藏着看下代码和我之前实现的区别,哈哈。
Aresxue
2019-09-09 09:45:48 +08:00
这个目前世面上的已经太多了。而且基本上每个公司都会有自己的一套权限模块,大一点的就再做个单点登录,本质上还都是用户、角色、菜单这些,重新撸一套除了学习没啥实际意义。
Mrbird
2019-09-09 09:58:25 +08:00
@hantsy
@Aresxue 基于微服务的还是有学习和研究的价值。
LeeSeoung
2019-09-09 10:00:48 +08:00
挺好的 支持下。。
securityCoding
2019-09-09 10:06:25 +08:00
价值最大的是网关,其他东西都附加的
dk7952638
2019-09-09 10:30:23 +08:00
虽然这种框架集成类型的项目很多了,但这个做的确实不错
Mrbird
2019-09-09 10:58:17 +08:00
@dk7952638 谢谢😭
dk7952638
2019-09-09 11:30:12 +08:00
@hantsy 多谢您的关键词 Keycloak,看起来真香啊,劳烦能不能再推荐几个?
IfEles
2019-09-09 16:58:37 +08:00
boot 过来支持一波
hantsy
2019-09-09 17:40:50 +08:00
@dk7952638
Keycloak 是 Redhat IDP 商业版本和云安全的基础,除些之外,我接触到的有。
1. Pivotal UAA,Spring 母公司 Pivotal 开发, 为其 CloudFoundry IDP 基础,开源,基于老一代的 Spring Security OAuth2。
2. Gluu 开源,曾在之前项目客户有提及,安装过一次,没太多感觉。
3. Connect2ID,完整服务器是商业产品,不开源,开始走云路线。核心 Nimbus 开源,非常成熟, 已经被 Spring Security 5 采用,来实现全新的 Oauth2/OIDC (目前仅实现部分 Flow,已经开发 Client,Resource Server,但 Authentication Server 未开始)。

从开发角度,我更喜欢云方式,Okta,Auth0 这些。
acrisliu
2019-09-09 17:44:43 +08:00
@hantsy #12 使用云一个是国内连接速度问题,一个是数据安全性问题吧,所以个人倾向于自己部署,哈哈。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/599138

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX