写点什么

【HZERO 微服务平台 1】开源免费的企业级 PaaS 平台

作者:qiaoxingxing
  • 2021 年 12 月 13 日
  • 本文字数:952 字

    阅读完需:约 3 分钟

【HZERO微服务平台1】开源免费的企业级PaaS平台

整体介绍

为什么使用: HZERO 是基于微服务架构开源免费的企业级 PaaS 平台

  • HZERO 是支持企业业务系统快速开发的微服务应用开发平台,包含多种开箱即用功能、通用技术组件与服务、微服务治理等。

  • 解决了产品研发、项目实施面临的许多重复性工作问题,降低了交付成本,提高了交付效率。

  • 统一技术路线,统一开发规范,使基于平台开发的各种产品能够无缝对接,形成融合的产品,降低了各自产品技术路线不一致带来的兼容性问题,便于更好的交付和客户使用体验。

总体架构

技术体系

  • nodejs、react、ant design

  • java、spring boot、spring cloud

  • mysql、redis

  • docker、kubernetes

  • oauth2、jwt、swagger

基础服务

  • 网关服务(gateway): 基于 Spring Cloud Gateway 的微服务网关服务。

  • 平台治理服务(admin): 集中管理路由、限流、熔断、权限刷新等功能。

  • 认证服务(oauth): 基于 Spring Security、Spring OAuth2、JWT 实现的统一认证服务中心。

  • 身份权限服务(iam): 权限管理服务,平台统一的权限体系。

  • 平台基础服务(platform): 平台基础服务,涵盖平台开发支持功能、平台主数据、系统管理等。

  • 接口文档服务(swagger): 平台开发测试的 API 文档和调试服务。

  • 注册中心、配置中心(nacos): 兼容 nacos 等多种注册中心、配置中心。

官方资料

源码:


open-hand/hzero: HZERO-基于微服务架构开源免费的企业级PaaS平台


文档:


平台文档

认证鉴权体系介绍

整体设计

  • 基于角色的权限控制(RBAC)

  • 菜单(menu)下有多个权限集(permission set,简写 ps)

  • 权限集下关联接口(接口又称 permission、api)

  • 角色(role)分配菜单和权限集(注意: 角色不能直接分配接口)

  • 角色分配用户(user)或客户端(client)


思考题: 张三登陆系统后, 调用某个接口时提示没有权限, 如何排查?


继承体系

  • 角色体系分【创建体系】和【继承体系】

  • 继承体系:

  • 子角色自动拥有父角色权限

  • 回收父角色权限自动回收子角色权限

  • 平台预定义【平台(超级)管理员】和【租户(超级)管理员】、【系统管理员模板】


网关鉴权

在网关统一控制权限;示意图:



详细调用链:


权限注解

接口通过@Permission注解控制权限, 通常情况下分配权限后才能访问接口;注意: 租户级的接口, 定义中必须包含{organizationId}


认证体系

  • 平台的认证服务基于 Spring Security、Spring OAuth2、JWT 实现统一认证服务中心,支持 oauth2.0 的四种标准授权模式:授权码模式、简化模式、密码模式、客户端模式

  • OAuth 授权介绍



用户头像

qiaoxingxing

关注

还未添加个人签名 2021.12.07 加入

还未添加个人简介

评论

发布
暂无评论
【HZERO微服务平台1】开源免费的企业级PaaS平台 .md