V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Mrbird
V2EX  ›  Java

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

  •  1
     
  •   Mrbird · 2019-09-09 08:48:19 +08:00 · 4736 次点击
    这是一个创建于 1914 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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

    系统架构

    nSfLg1.png

    目录结构

    ├─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,演示如何整合自己的微服务系统
    

    系统截图

    nSfoEF.png nSfbC9.png nSf74J.png nSfTN4.png nSf4BT.png nSf5HU.png n8utMR.png n8uJz9.png 如果该项目对您有帮助的话,还请 V 友点个 Star 给予精神鼓励~~

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

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

    当然, 采用这些方案主要基于几个考量:
    1. 技术中立。不能要求我用什么技术,语言或者框架。
    2. 零入侵。你不改变我的整体架构,代码编码方式。
    acrisliu
        3
    acrisliu  
       2019-09-09 09:38:33 +08:00
    前几年也热衷这种权限管理,可以收藏着看下代码和我之前实现的区别,哈哈。
    Aresxue
        4
    Aresxue  
       2019-09-09 09:45:48 +08:00
    这个目前世面上的已经太多了。而且基本上每个公司都会有自己的一套权限模块,大一点的就再做个单点登录,本质上还都是用户、角色、菜单这些,重新撸一套除了学习没啥实际意义。
    Mrbird
        5
    Mrbird  
    OP
       2019-09-09 09:58:25 +08:00
    @hantsy
    @Aresxue 基于微服务的还是有学习和研究的价值。
    LeeSeoung
        6
    LeeSeoung  
       2019-09-09 10:00:48 +08:00
    挺好的 支持下。。
    securityCoding
        7
    securityCoding  
       2019-09-09 10:06:25 +08:00
    价值最大的是网关,其他东西都附加的
    dk7952638
        8
    dk7952638  
       2019-09-09 10:30:23 +08:00
    虽然这种框架集成类型的项目很多了,但这个做的确实不错
    Mrbird
        9
    Mrbird  
    OP
       2019-09-09 10:58:17 +08:00
    @dk7952638 谢谢😭
    dk7952638
        10
    dk7952638  
       2019-09-09 11:30:12 +08:00
    @hantsy 多谢您的关键词 Keycloak,看起来真香啊,劳烦能不能再推荐几个?
    IfEles
        11
    IfEles  
       2019-09-09 16:58:37 +08:00
    boot 过来支持一波
    hantsy
        12
    hantsy  
       2019-09-09 17:40:50 +08:00   ❤️ 1
    @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
        13
    acrisliu  
       2019-09-09 17:44:43 +08:00
    @hantsy #12 使用云一个是国内连接速度问题,一个是数据安全性问题吧,所以个人倾向于自己部署,哈哈。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6034 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 02:10 · PVG 10:10 · LAX 18:10 · JFK 21:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.