Dante Cloud 2.7.3.0 发布,Spring Boot 版本升级至 2.7.3
Dante Cloud 是一款企业级微服务架构和服务能力开发平台。首个全面拥抱 Spring Authorization Server 的版本,基于Spring Boot 2.7.3、Spring Cloud 2021.0.3、Spring Cloud Alibaba 2021.0.1.0、 Spring Authorization Server 0.3.1、Nacos 2.1.1 等最新版本开发,遵循SpringBoot编程思想,高度模块化和可配置化。具备服务发现、配置、熔断、限流、降级、监控、多级缓存、分布式事务、工作流等功能
平台定位
- 构建成熟的、完善的、全面的,基于 OAuth2.1 的、前后端分离的微服务架构解决方案。
- 面向企业级应用和互联网应用设计开发,既兼顾传统项目的微服务化,又满足互联网应用开发建设、快速迭代的使用需求。
- 平台架构使用微服务领域及周边相关的各类新兴技术或主流技术进行建设,是帮助快速跨越架构技术选型、研究探索阶段的利器。
- 代码简洁规范、结构合理清晰,是新技术开发应用的典型的、综合性案例,助力开发人员对新兴技术的学习和掌握。
[1]、特别说明
Dante Cloud (但丁,原 Eurynome Cloud) 正式加入 Dromara 开源社区。Dante Cloud 将继续秉承“简洁、高效、包容、务实”的理念,不断地深耕细作、去粗取精,用心打造一款适应未来信息化建设需求的精致产品。同时,与 Dromara 开源社区以及社区中所有的优秀人才一起互相扶持、并肩前行,创造更多、更好、更精的产品以回馈社会,促进软件开源的发展。
谢谢大家对 Eurynome Cloud 支持与厚爱,希望大家继续给与 Dante Cloud 以及 Dromara 开源社区关注与支持
[2]、为什么更名为 Dante Cloud
原项目名称 Eurynome Cloud,很多朋友都反映名字太长、读起来拗口、不容易记等问题。因此在加入 Dromara 开源社区之际,将名字进行了变更。
Dante,即但丁·阿利基耶里(公元1265年-公元1321年),13世纪末意大利诗人,现代意大利语的奠基者,欧洲文艺复兴时代的开拓人物之一,以长诗《神曲》(原名《喜剧》)而闻名,后来一位作家叫薄伽丘将其命名为神圣的喜剧。
他被认为是中古时期意大利文艺复兴中最伟大的诗人,也是西方最杰出的诗人之一,最伟大的作家之一。恩格斯评价说:“封建的中世纪的终结和现代资本主义纪元的开端,是以一位大人物为标志的,这位人物就是意大利人但丁,他是中世纪的最后一位诗人,同时又是新时代的最初一位诗人”
更名为 Dante Cloud,寓意本项目会像恩格斯对但丁的评价一样,在行业变革的时期,可以成为一款承上启下,助力企业信息化建设变革的产品。
[3]、本次更新内容
- 主要更新
- [升级] Spring Boot 版本升级至 2.7.3
- [新增] 新增 OAuth2 Token 过期后,用户可无感知自动获取新 Token 机制。(感谢 `狂练胸肌李大懒` 提交的 PR)
- 其它更新
- [修复] 应用安全合规代码,在容器环境下,受监控 Agent 影响,产生 Consider injecting the bean as one of its interfaces orforcing the use of CGLib-based proxiesby setting proxyTargetClass=true on @EnableAsync and/or @EnableCaching 错误问题。
- [修复] 修复自定义 Spring Authorization Server 认证模式,因 Token 必要参数缺失,导致通过 Refresh Token 获取新 Access Token 时抛出空指针错误。fix: #I5MF3B
- 依赖更新
- protobuf-java 版本升级至 3.21.5
- springdoc 版本升级至 1.6.10
- tencentcloud-sdk-java-sms 版本升级至 3.1.572
[4]、Dante Cloud 2.7.X 主要变化
基于
Spring Authorization Server
深度定制:- 基于
Spring Data JPA
,重新构建Spring Authorization Server
基础数据存储代码,替代原有 JDBC 数据访问方式,破除Spring Authorization Server
原有数据存储局限,扩展为更符合实际应用的方式和设计。 - 基于
Spring Authorization Server
,在 OAuth 2.1 规范基础之上,增加自定义“密码”认证模式,以兼容现有基于 OAuth 2 规范的、前后端分离的应用。 - 基于
Spring Authorization Server
,在 OAuth 2.1 规范基础之上,增加自定义Social Credentials 认证模式,支持手机短信验证码、微信小程序、第三方应用登录。 - 遵照
Spring Security 5
以及Spring Authorization Server
的代码规范,进行 OAuth2 认证服务器核心代码的开发,遵照其使用 Jackson 反序列化的方式, 增加大量自定义 Jackson Module。 - 支持
Spring Authorization Server
的标准的Token加密校验方式外,还了增加支持自定义证书的 Token 加密方式,可通过配置动态修改 - 支持 OAuth2 OIDC 认证模式,补充前端 OIDC 认证相关配置操作,以及对应的 /userinfo 接口调用支持 和 客户端注册支持
- 支持 OAuth2 Authorization Code PKCE 认证模式
- 扩展
Spring Authorization Server
默认的Client Credentials
模式,实现 Refresh Token 的创建。 - 扩展
Spring Authorization Server
默认的Client Credentials
模式,实现真正的使用 Scope 权限对接口进行验证。 增加客户端 Scope 的权限配置功能,并与已有的用户权限体系解耦 - 自定义
Spring Authorization Server
授权码模式登录认证页面和授权确认页面,授权码模式登录采用数据加密传输。支持多种验证码类型,暂不支持行为验证码。
- 基于
代码结构的大规模调整和优化:
- 对原有代码进行了深度的“庖丁解牛”,严格遵照“单一职责”原则,根据各个组件的职责以及用途,将整个工程拆解细化为多个各自独立组件模块,在最大程度上降低代码间的耦合,也更容易聚焦和定位问题。
- 将通用化组件提取为独立工程,独立编译、按需选用,极大的降低系统主工程代码量。相关组件也已上传至 Maven 中央仓库,降低系统主工程工程代码编译耗时,改进和提升 CICD 效率,
- 原有主工程代码结构也进行了深化调整,代码分包更加合理,代码逻辑也更加清晰。
[5]、界面预览
[6]、额外说明
- 本项目以后将主要维护 `Spring Authorization Server` 版本,原有基于 `Spring Security OAuth2` 的版本已经移至 spring-security-oauth2 分支,可以从该分支或发行版页面获取历史版本继续使用。后期会根据 ISSUE 以及使用用户反馈情况,再行决定是否继续维护 `Spring Security OAuth2` 版本。
- 基于 Vue3、Vite2、Vuetify3、Pinia 等新版前端已发布,原有基于 Vue2、Vuetify2、Typescript 开发的前端代码已移至 vue2+vuetify2+typescript 分支
- 自 2.7.2.3 版本起,Dante Cloud 所有核心代码全部开源。新开放内容包括:
- 接口权限鉴权:全面整合 `@PreAuthorize` 注解权限与 `URL` 权限,通过后端动态配置,无须在代码中配置 `Spring Security` 权限注解以及权限方法,即可实现接口鉴权以及权限的动态修改。采用分布式鉴权方案,规避 Gateway 统一鉴权的压力以及重复鉴权问题
- 动态权限数据分发:采用分布式服务独立鉴权方案,`Spring Security` `@PreAuthorize` 的权限注解、权限方法以及 `URL` 权限,通过后端动态配置后,实时动态分发至对应服务。
- User 数据策略访问:`OAuth2` `UserDetails` 核心数据支持直连数据库获取和 `Feign` 远程调用两种模式。`OAuth2` 直连数据库模式性能更优,`Feign` 访问远程调用可扩展性更强。可通过配置动态修改采用策略方式。
- 手机短信验证码注册认证:采用自定义 `OAuth2` 授权模式,使用统一 `Token` 接口,实现手机验证码登录认证,与平台为统一体系,统一返回`OAuth2` Token,支持服务接口鉴权
- 第三方系统社交注册认证:集成 `JustAuth`,采用自定义 `OAuth2` 授权模式,使用统一 `Token` 接口,实现基于 `JustAuth` 实现第三方系统社交登录认证,与平台为统一体系,统一返回 `OAuth2` Token,支持服务接口鉴权。所有 `JustAuth` 支持的第三方系统均支持。
- 微信小程序注册认证:采用自定义 `OAuth2` 授权模式,使用统一 `Token` 接口,实现支持微信小程序登录认证,与平台为统一体系,统一返回 `OAuth2` Token,支持服务接口鉴权。
- 其它方式注册认证:采用策略模式对外部系登录认证和用户注册进行接入支持,采用 `OAuth2` 默认认证接口。目前未集成的外部系统,可参考标准,适当增减参数,即可支持接入。
- 多通道 SMS 集成:集成阿里,百度,中国移动,华为,京东,极光,网易,七牛,腾讯,又拍,云片等平台短信发送通道。可通过配置动态选择具体使用通道。支持多模版定义以及模版参数顺序控制
- 微信小程序订阅消息:支持微信小程序订阅消息发送。提供订阅消息模版工厂,可根据自身业务需求,编写少量代码既可以拓展支持新订阅消息模版。
Dromara 开源社区
一、社区愿景
让每一位开源爱好者,体会到开源的快乐。
二、社区官网
https://dromara.org 是 Dromara 开源社区官方网站。
三、成员项目

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Krita 5.1.0 正式版已经推出
今天krita开发团队为大家带来了 Krita 5.1.0 正式版,包含各种改进和新功能。 新版功能亮点 更多操作可被用于多个选中的图层 改进了 WebP、Photoshop 多层 TIFF、PSD 文件等的支持,新增对 JPEG-XL 文件格式的支持。(尚有未解决的问题,详情请见下文) 更换矢量优化程序库,使用 Xsimd 代替了 Vc,改善了绘画性能,并首次实现了安卓平台下的矢量优化。 填充工具的相连颜色填充功能得到了扩展。新增围选填充工具。 Windows 版使用了新版的 ANGEL,改善了性能和显卡驱动程序的兼容性。 触摸控制现已支持在画布输入设置页面进行自定义操作,如“点击以撤销”。 除此之外还修复了数百个程序缺陷,针对程序多个方面改善了性能,对用户界面进行了进一步打磨,改进了动画系统 (但因为时间不足,音频系统的相关功能并未来得及合并到 5.1 系列,它们预计会在 5.2 系列加入)。 完整更新列表请见Krita 5.1 系列版本说明。 Krita 是一个自由开源的软件项目,如果条件允许,请考虑通过 捐款或 购买视频教程等方式为我们提供资金支持,这可以确保 Krita 的核...
- 下一篇
Lux 0.7 发布,函数式 Lisp
Lux 0.7 已发布,这是一门函数式、具备静态类型的 Lisp 编程语言,支持在 Java 虚拟机、JavaScript、Python、Lua 和 Ruby 解释器上运行。 Lux 0.7 主要变化 新增 内联函数 支持将配置参数从构建描述 (build description) 传递给编译器 基于配置参数的代码选择 基于编译器版本的代码选择 实验性阶段的可扩展元编译器 (meta-compiler) 架构 导出 machinery 以使用来自宿主语言程序的 Lux 代码 Generalized/type-agnostic arithmetic 【可选】更快(但不安全)的数组处理机制 【可选】更快(但不安全)的文本处理机制 【可选】更快(但不安全)的二进制处理机制 使用 Aedifex 部署版本 可扩展的 import 语法 上下文感知的宏 用于更可控的宏扩展的宏词汇表 变更 JVM 编译不再依赖 ASM 库 更友好的语法 在 JVM FFI 中不再自动转换基本类型 现在要求使用强制性的loop name,而不是使用默认的"again" name 改进 JVM 互操作语法 宏作为一等...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7设置SWAP分区,小内存服务器的救世主
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Hadoop3单机部署,实现最简伪集群