Dante Cloud 是一款企业级微服务架构和服务能力开发平台,是采用领域驱动设计(DDD)思想的、全面拥抱 Spring Authorization Server 的、基于 OAuth2.1 协议的、支持智能电视、IoT等物联网设备认证的微服务架构。基于 Spring Authorization Server 1.1.1、Spring Boot 3.1.1、Spring Cloud 2022.0.3、Spring Cloud Tencent 1.11.7-2022.0.1、Spring Cloud Alibaba 2022.0.0.0-RC2、Nacos 2.2.4 等主流技术栈开发的多租户系统,遵循 SpringBoot 编程思想,高度模块化和可配置化。具备服务发现、配置、熔断、限流、降级、监控、多级缓存、分布式事务、工作流等功能
平台定位
- 构建成熟的、完善的、全面的,基于 OAuth2.1 的、前后端分离的微服务架构解决方案。
- 面向企业级应用和互联网应用设计开发,既兼顾传统项目的微服务化,又满足互联网应用开发建设、快速迭代的使用需求。
- 平台架构使用微服务领域及周边相关的各类新兴技术或主流技术进行建设,是帮助快速跨越架构技术选型、研究探索阶段的利器。
- 代码简洁规范、结构合理清晰,是新技术开发应用的典型的、综合性案例,助力开发人员对新兴技术的学习和掌握。
[1] 本次更新内容
- 【主要更新】
- Minio 控制台可使用 Dante Cloud 作为 IDentity Provider(身份提供者)进行登录认证
Dante Cloud 不仅仅是一套微服务架构开发平台,因其集成了丰富的、符合 OAuth2.1 规范的认证模式,更可作为一套独立的认证授权平台。通过对已有认证模式的完善,Dante Cloud 可以作为 Minio 控制台的身份提供者,使用 Dante Cloud 登录 Minio 控制台实现第三方认证。在 Minio 已有支持使用的 Okta、KeyCloak、Dex、Google、Facebook 等用于用户身份的外部管理方式以外,集成 Dante Cloud 为您提供了一种新的选择方式,也为集成使用 Minio 提供了一种更便捷安全的认证方式。
2. 基于 Camunda 的工作流服务模块已适配 Spring Boot 3.
3. 已完成对新版本 Redis 环境下,系统运行验证,目前支持的 Redis 版本最高到 7.0.12
- 【其它更新】
- [重构] 重构前端 Minio 对象列表,提取组件,去除重复代码,支持文件夹内容显示
- [修复] 采用自定义 Typescript 类型定义方式,临时修复新版本 quasar 类型不兼容,导致 IDE 出现类型错误提示问题
- [修复] 修复前端部分 Typescript 类型校验错误
- [修复] OSS 服务缺少必要配置,导致对象存储连接失败问题。
- [修复] 修复系统初始化脚本,默认缺少对象存储相关权限数据问题。
- [修复] 修复工作流服务 bootstrap 配置,解决工作流服务配置与当前环境不匹配问题
- [优化] 前端重命名 Table 相关 hooks 命名,更加准确定位其用途
- [优化] 前端去除重复的自定义 Typescript 类型定义
- [优化] 优化前端对象存储参数传递方式,替代原有 pinia 传值方式,删除无用的存储代码
- [优化] 优化 linux 环境下,Minio Docker Compose 配置文件
- [升级] minio docker 镜像版本升级至 RELEASE.2023-07-11T21-29-34Z
- 【依赖更新】
- [升级] camunda 版本升级至 7.20.0-alpha3
- [升级] fastjson2 版本升级至 2.0.35
- [升级] redisson 版本升级至 3.23.0
- [升级] transmittable-thread-local 版本升级至 2.14.3
- [升级] dysmsapi20170525 版本升级至 2.0.24
- [升级] tencentcloud-sdk-java-sms 版本升级至 3.1.794
- [升级] aliyun-sdk-oss 版本升级至 3.17.0
[2] Dante Cloud 3.0.0 新特性
- 核心基础依赖便捷切换
- 新增
Spring Cloud Tencent
和Spring Cloud
原生微服务全家桶等两种基础设施支持。 - 新增
Spring Cloud Alibaba
、Spring Cloud Tencent
和Spring Cloud
原生微服务全家桶三种基础设值切换能力,可以以相对便捷的方式切换使用 Alibaba、Tencent、Spring 等基础设施环境。可根据自身实际需求选择,不再局限于只能在某一种基础设施环境中运行。
- 支持
GraalVM
原生镜像
- 整体调整各类模块 pom build 配置,适当增加冗余重复配置,以支持
Spring Native
或GraalVM
编译需要。规避对所有模块进行 Native 编译,而导致错误问题。
Spring Authorization Server
全特性支持及扩展
- 基于
Spring Authorization Server
和Spring Data JPA
实现多租户系统架构, 支持 Database 和 Schema 两种模式。 - 基于
Spring Data JPA
,重新构建Spring Authorization Server
基础数据存储代码,替代原有 JDBC 数据访问方式,破除Spring Authorization Server
原有数据存储局限,扩展为更符合实际应用的方式和设计。 - 基于
Spring Authorization Server
,在 OAuth 2.1 规范基础之上,增加自定义Resource Ownership Password
(密码) 认证模式,以兼容现有基于 OAuth 2 规范的、前后端分离的应用,支持Refresh Token
的使用。 - 基于
Spring Authorization Server
,在 OAuth 2.1 规范基础之上,增加自定义Social Credentials
(社会化登录) 认证模式,支持手机短信验证码、微信小程序、基于JustAuth
的第三方应用登录, 支持Refresh Token
的使用。 - 扩展
Spring Authorization Server
默认的Client Credentials
模式,实现真正的使用 Scope 权限对接口进行验证。 增加客户端 Scope 的权限配置功能,并与已有的用户权限体系解耦 - 支持
Spring Authorization Server
Authorization Code PKCE
认证模式 - 在
Spring Authorization Server
的标准的JWT Token
加密校验方式外,支持基于自定义证书的JWT Token
加密校验方式,可通过配置动态修改。 - 支持
Opaque Token
(不透明令牌) 格式及校验方式,将低JWT Token
被捕获解析的风险。可通过修改配置参数,设置默认 Token 格式是采用Opaque Token
格式还是JWT Token
格式。 - 全面支持
OpenID Connect
(OIDC) 协议,系统使用时可根据使用需求,通过前端开关配置,快速切换 OIDC 模式和传统 OAuth2 模式 - 深度扩展
Authorization Code
、Resource Ownership Password
、Social Credentials
几种模式,全面融合IdToken
、Opaque Token
、JWT Token
与现有权限体系,同时提供IdToken
和 自定义 Token 扩展两种无须二次请求的用户信息传递方式,减少用户信息的频繁请求。 - 自定义
Spring Authorization Server
授权码模式登录认证页面和授权确认页面,授权码模式登录采用数据加密传输。支持多种验证码类型,暂不支持行为验证码。 - 新增基于
Spring Authorization Server
的、支持智能电视、IoT等物联网设备认证模式 - 无须在代码中配置
Spring Security
权限注解以及权限方法,即可实现接口鉴权以及权限的动态修改。采用分布式鉴权方案,规避 Gateway 统一鉴权的压力以及重复鉴权问题 - OAuth2 UserDetails 核心数据支持直连数据库获取和 Feign 远程调用两种模式。OAuth2 直连数据库模式性能更优,Feign 访问远程调用可扩展性更强。可通过配置动态修改采用策略方式。
- 基于自定义 Session,混合国密
SM2
(非对称) 和SM4
(对称加密) 算法,实现基于数字信封技术的秘钥动态生成加密传输。利用 “一人一码机制”,实现密码模式登录数据进行动态加密传输。配合 OAuth2 Client 验证,保护接口调用和前后端数据传输的合理性及安全性。
- 采用
pnpm monorepo
重构前端
- 前端工程包管理器变更为 pnpm。
- 采用
monorepo
模式对前端工程进行重构,抽取 utils、components、apis、bpmn-designer 等相关代码,形成共享模块 - 共享模块已进行优化配置,利用 Vite 可编译成独立的组件,单独以组件形式进行发布
- 代码以共享模块的方式进行单独维护开发,降低现有工程代码复杂度,便于后续功能的扩展和代码的复用。
[3]界面预览
Dromara 开源社区
一、社区愿景
让每一位开源爱好者,体会到开源的快乐。
二、社区官网
https://dromara.org 是 Dromara 开源社区官方网站。
三、成员项目
还没有评论,来说两句吧...