Releases: dromara/dante-cloud
Releases · dromara/dante-cloud
v2.7.4.5
🏗️ feat: v2.7.4.5
-
重要更新
- [核心组件升级] Spring Boot Admin 版本升级至 2.7.6
- [核心组件升级] Nacos 版本升级至 2.1.2
- [核心组件升级] Camunda 版本升级至 7.18.0,同时更新 Camunda Open API 描述文件
- [核心组件升级] 自主封装 Oracle JDK 版本升级至 8u341, 系统所涉及的所有 Docker 均已修改为使用该版本。该镜像已经上传至 Docker Hub,可以直接使用。
-
其它更新
- [修复] 修复防刷机制控制范围过窄,缺少对用户标识的区分问题。fix: #I5WF5O (ISSUED by
我问这瓜保熟吗
) - [优化] 优化系统登录成功记录代码,增加代码健壮性。
- [修复] 修复防刷机制控制范围过窄,缺少对用户标识的区分问题。fix: #I5WF5O (ISSUED by
-
依赖更新
- [升级] springdoc 版本至 1.6.12
- [升级] transmittable-thread-local 版本至 2.14.1
- [升级] tencentcloud-sdk-java 版本至 3.1.609
-
友情提示
- 本月阿里云 Maven 仓库升级,暂停同步更新,新发布的包均无法从阿里云 Maven 仓库更新。请直接使用中央仓库或增加其它备份 Maven 仓库镜像
v2.7.4.4
✨ feat: v2.7.4.4 ✨
-
重要更新
- [新增] 扩展 Spring Authorization Server 授权码模式(AuthorizationCode), 在授权码模式返回 Token 中增加系统用户信息,减少二次请求获取用户信息
- [新增] 在原有 ResourceOwnershipPassword、SocialCredentials 认证模式基础上,补充增加 OIDC IdToken 支持。
- [新增] 扩展 OIDC IdToken 及 OIDC /userinfo 端点信息内容,与现有用户权限体系融合,支持使用 Opaque Token 读取并解析用户信息。
- [优化] 整体优化 AuthorizationCode、ClientCredentials、ResourceOwnershipPassword、SocialCredentials 四种认证模式,除保留原有 JWT Token 的所有支持内容外,对 OIDC IdToken、Opaque Token 与现有权限体系进行了全面融合与支持
- [安全] 修复 jackson-databind 拒绝服务漏洞 (CVE-2022-42003)
-
其它更新
- [重构] 重构自定义 AuthorizationCode、ClientCredentials、ResourceOwnershipPassword、SocialCredentials 四种认证模式代码,抽象创建 AccessToken、RefreshToken、IdToken 等操作公共代码,代码逻辑更清晰易懂,同时减少重复冗余代码。
- [重构] 重构 oauth2ResourceServer 配置代码,统一资源服务器 Opaque Token 和 JWT Token 切换策略化配置逻辑。
- [修复] 在 OAuth2 OIDC 认证方式下,/userinfo 接口调用始终为 401 问题
- [修复] 修复开启 Session 共享功能后,Gateway Session 相关内容注入重复冲突问题。
- [修复] 在 AuthorizationCode、SocialCredentials 认证模式下,前端菜单加载异常问题。
- [新增] 前端新增 Spring Authorization Server 授权码模式(AuthorizationCode) 登录方式。
- [新增] 优化前端 OAuth2 认证所有接口代码,新增 OIDC IdToken 开关配置,在前端即可根据使用需求决定使用 OIDC (OpenID Connect) 模式还是传统 OAuth2 模式。
- [优化] 优化前后端用户基本信息提供和使用机制。后端会根据前端 IdToken 开启与否状态,策略化提供 IdToken 或自定义 Token 补充用户信息(注:两种方式均无需通过二次请求后端获取用户信息)。
- [优化] 前端 echarts 使用方式,变更为按需加载,解决前端工程调试过程中,Dashboard 页面加载缓慢问题。
- [优化] 优化单体版 application.yml 配置
-
依赖更新
- [升级] commons-text 版本至 1.10.0
- [升级] tencentcloud-sdk-java-sms 版本至 3.1.608
- [升级] alipay-sdk-java 版本至 4.34.14.ALL
v2.7.4.3
🐳 feat: v2.7.4.3
-
主要更新
- [新增] 新增 Opaque Token (不透明令牌) 支持,并将其设置为默认 Token 格式,降低 JWT Token 被捕获解析的风险。仍旧保留 JWT Token 格式支持,可通过修改配置参数进行切换。
- [重构] 使用 Spring Authorization Server 标准的 Token 废弃机制,重构同一账号在同类型终端异处登录自动踢出(Kick Out)前一个登录用户功能。
- [修复] 结合 Opaque Token 修复 Kick Out 不生效问题。(注:Kick Out 仅在 Opaque Token 格式下有效。因 JWT Token 自身机制以及 Spring Authorization Server Token 验证实现方式与 Spring Security OAuth 的不同,使用 JWT Token 仅能实现 Token 过期验证,是无法实现 Kick Out 功能 )
- [新增] Monorepo 版前端工程新增 Dante Cloud 授权码登录预览功能
-
其它更新
- [重构] 重构部分枚举类,新增 Target 枚举,统一所有涉及本地及远程判断的枚举。
- [重构] 由于 Okhttps 大版本升级,包名进行了变更,因此涉及一部分代码修改重构。
- [删除] 删除无用的、自定义的 OAuth2ClientAuthorizationToken 类。
- [删除] 删除 AuthorizationServerConfiguration 中,冗余的 Authorization Server 配置
- [修复] 修复单体版参数配置错误,导致启动抛错问题。
- [优化] 结合 Opaque Token 机制,优化前端工程应用管理功能。
-
依赖更新
- [升级] mapstruct-processor 版本至 1.5.3.Final
- [升级] bcprov-jdk15to18 版本至 1.72
- [升级] okhttps 版本至 4.0.0
- [升级] dysmsapi20170525 版本至 2.0.22
- [升级] alipay-sdk-java 版本至 4.34.8.ALL
-
升级指南
本次更新涉及系统核心逻辑变化,升级新版代码涉及核心参数和数据的变更。如果是全新部署,可以跳过以下内容;如果是在系统,可以参考以下内容进行最小化修改。
- 修改 dante-cloud-platform.yaml 配置,增加 opaque 相关配置,具体修改内容参见工程中对应的配置文件。
- 手动修改数据和参数
- 修改数据表 oauth2_registered_client 中 token_settings 字段 JSON 数据,将其中 OAuth2TokenFormat 的值 “self-contained” 修改为 “reference”。
- 修改 数据表 oauth2_application 中 access_token_format 字段的值,将其值从“0”改“1”
- 修改完成之后,需要清理 Redis 缓存,并重新启动服务。
v2.7.4.2
- 重要更新
- [新增] 基于 pnpm 的 monorepo 模式新版前端应用,预览版上线
- 该版本基于 pnpm,采用 monorepo 模式对前端工程进行重构
- 抽取 utils、components、apis、bpmn-designer 等相关代码,形成共享模块。
- 共享模块已进行优化配置,可编译成独立的组件,单独以组件形式进行发布。
- 代码以共享模块的方式进行单独维护开发,降低现有工程代码复杂度,便于后续功能的扩展和代码的复用。
- [重构] 重构现有前端工程 TabView 相关代码和实现逻辑
- 完全基于 Quasar QRouteTab 组件的自身特性对 TabView 进行重构,将 TabView 与 Vue-Router 更好的融合,实现逻辑更清晰也更易维护。
- 新增 Tab 页局部刷新、关闭左侧、关闭右侧以及 Tab 页面保留等 TabView 操作功能
- 重新设计常规 Tab 页面、详情 Tab 页面,开启、关闭、跳转、显示位置等操作逻辑。
- 将 TabView 操作与 Tab 当前各种状态有机结合,规避不合理 Tab 操作出现。
- 重构 TabView Pinia Store 操作代码逻辑,合并相近逻辑,删除重复或无用代码。
- [新增] 基于 pnpm 的 monorepo 模式新版前端应用,预览版上线
- 其它更新
- [修复] 在最新 Vite 和 Vue-tsc 环境下出现
Write operation failed: computed value is readonly
问题。 - [修复] 优化单体版本应用配置,修正第三方登录配置错误,补充单体版多租户配置
- [优化] 优化 Nacos 配置文件,默认关闭多租户配置。
- [修复] 在最新 Vite 和 Vue-tsc 环境下出现
- 依赖更新
- [升级] redisson 版本至 3.17.7
- [升级] fastjson2 版本至 2.0.15
- [升级] dysmsapi20170525 版本至 2.0.21
- [升级] alipay-sdk-java 版本至 4.34.0.ALL
- 额外说明
- 想要尝鲜 pnpm monorepo 版本前端,请检出 dante-cloud-ui 工程中,monorepo 分支代码。
- 构建 monorepo 版本前端,是为扩展更多功能、增加应用级功能做铺垫。
- 微前端架构技术已经走通,未在 monorepo 版本中直接实现,主要考虑到微前端更适合大型前端拆解、多前端项目整合情况。构建一套完善的微前端应用,研发投入大、潜在问题多、使用复杂度高,并不适合本项目目前大多数用户的实际用途。采用一些性价比更高的替代方案,比如说 Nginx 的多应用似乎更可取。因此,目前尝试推出 monorepo 版前端,作为基础或过渡版本。在此版本基础之上,构建"微前端"应用,特别是基于 Micro-App 的微前端会非常容易。会适时并结合用户需求,再考虑是否转换为微前端架构前端应用。
v2.7.4.1
🚑 feat: v2.7.4.1
- 重要更新
- [新增] 新增 Spring Authorization Server 同一账号,在同类型终端异处登录自动踢出(Kick Out)前一个登录用户功能。可通过配置参数修改是否开启。该项功能与应用安全合规性检查项:同一终端不允许重复登录互斥(即不能同时开启,同一时间只能开启一项)。
- 其它更新
- [优化] 优化 Nacos 配置文件,删除 Redisson 统一开关配置,默认不启用 Redisson。
- [优化] 改进在线文档部分内容描述不正确问题 。fix: #I5TSEM (ISSUED by 等待是如此漫长)
- [优化] 优化数据自动初始化脚本放置位置,与新版本代码创建数据表需要启动两个服务机制进行统一。
- [修复] 增加 Redisson 密码配置,修复在 Redis 5 版本下设置密码后 Redisson 无法连接 Redis 问题。fix: #I5TS0Y (ISSUED by 等待是如此漫长)
- [修复] 修复前端工程,配置人员归属功能人员选择页面无法点开的问题。
- [修复] 修复前端工程,使用最新版 vue-router 会在控制台抛出
You are running the esm-bundler build of vue-i18n. It is recommended to configure your bundler to explicitly replace feature flag globals with boolean literals to get proper tree-shaking in the final bundle.
问题 - [修复] 修复删除无用 Token 抛出 No EntityManager with actual transaction available for current thread 错误
- 依赖更新
- [升级] minio 版本至 8.4.5
- [升级] hutool 版本至 5.8.8
- [升级] wxjava 版本至 4.4.2.B
- [升级] dysmsapi20170525 版本至 2.0.20
- [升级] tencentcloud-sdk-java 版本至 3.1.600
- [升级] alipay-sdk-java 版本至 4.33.60.ALL
- [升级] aliyun-sdk-oss 版本至 3.15.2
- [升级] snakeyaml 版本至 1.33
- [升级] 前端工程所有依赖包均升级至最新版本
v2.7.4.0
👌 feat: v2.7.4.0
- 重要更新
- [升级] Spring Boot 版本升级至 2.7.4
- [修复] 优化 Spring Authorization Server 客户端模式下,根据 Scope 分配权限逻辑。使用统一逻辑修复客户端模式下,Scope 权限对应接口始终返回“没有权限访问”问题
- 其它更新
- [修复] 修复 OAuth2 Scope 分配权限接口实现逻辑错误问题。
- [修复] 修复前端 OAuth2 Scope 分配权限功能传递参数不足,导致权限无法增加问题。
- [修复] 修复在新版本 Spring Boot 环境下,@EntityListeners 复发获取 ApplicationContext 导致角色权限变更抛空错误
- [修复] 优化前端 Token 过期校验逻辑,修复在使用 Refresh Token 的情况下,不应该再进行 Token 是否过期校验,导致 Refresh Token 无法使用问题。fix:#I5SKFS (ISSUED by 狂练胸肌的李大懒)
- [修复]修复前端工程打卡编辑页面后,调整浏览器大小后,所有 tab 都显示空白问题。fix:#I5SB49 (ISSUED by SimonLiu)
v2.7.3.6
👽 fix: v2.7.3.6
- 重要更新
- [升级] Spring Boot Admin 版本升级至 2.7.5
- [升级] 前端工程 Camunda Bpmn 在线编辑器核心组件大版本升级
- [安全] 强制升级 xnio 版本至 3.8.8.Final,修复安全漏洞 (CVE-2022-0084)
- 其它更新
- [新增] 新增 Spring Authorization Server 历史 Token 清理逻辑
- [修复] 前端工程编译结果与 Nginx 一起打包为 Docker 后,在浏览器刷新页面出现 404 问题。
- [优化] 优化 Token 过期检测逻辑,调整时钟偏移(Clock Skew),与 Spring Security OAuth2 Jose 默认实现逻辑保持一致。fix: #I5RWGA(ISSUED by 狂练胸肌李大懒)
- [优化] 优化前端封装 Axios 代码中阻止重复提交属性名称,将其修改为更容易理解的变量名称。
- [优化] 优化自定义 Spring Authorization Server JPA 模块部分查询操作,启用基于 Jetcache 自定义的 JPA 多级缓存支持,提升数据查询效率
- [优化] 优化部分代码日志输出级别,提升控制台日志输出内容的可聚焦性
- 依赖更新
- log4j2 版本升级至 2.19.0
- minio 版本升级 8.4.4
- fastjson2 版本升级至 2.0.14
- hutool 版本升级至 5.8.7
- mybatis 版本升级至 3.5.11
- tencentcloud-sdk-java-sms 版本升级至 3.1.597
v2.7.3.5
♻ feat: v2.7.3.5
- 重要更新
- Spring Boot Alibaba 版本升级至 2021.0.4.0
- 自主封装 Oracle JDK Docker 基础镜像版本升级至 8u333, 系统所涉及的所有 Docker 均已修改为使用该版本。该镜像已经上传至 Docker Hub,可以直接使用。
- 自主封装 Sentinel Dashboard Docker 镜像基于 Sentinel 1.8.5 进行了全面升级。
- Sentinel Dashboard 基础 Spring Boot 版本已升级至 2.5.14 (Spring Boot 版本升级至 2.6.X 或 2.7.X,会出现无法登陆的情况,所以暂时只能升级至 2.5. X)
- 使用 Dante Engine 统一代码,优化自定义的基于 InfluxDB 的 Sentinel Dashboard 数据持久化存储代码及 Dockerfile 参数,可通过修改 docker-compose 中的参数动态开启或关闭持久化功能
- 使用 Dante Engine 统一代码,优化自定义的基于 Nacos 的 Sentinel Dashboard 流控规则存储及 Dockerfile 参数,可通过修改 docker-compose 中的参数动态开启或关闭保存流控规则至 Nacos 功能。
- 该镜像已经上传至 Docker Hub,通过命令 docker push herodotus/sentinel-dashboard:latest(或者 1.8.5) 可以直接获取使用。
- 其它更新
- [修复] 用户文档列表中无结果时也要更新列表数据,防止不在第一页时发两遍请求。(感谢 狂练胸肌李大懒提交的 PR)
- [修复] 强制升级部分组件依赖的 snakeyaml 版本, 修复低版本 snakeyaml 携带的 CVE-2022-25857,CVE-2022-38752,CVE-2022-38749 安全漏洞问题。
- [优化] 增加是否使用自动获取 Refresh Token 判断,在使用 Refresh Token 模式下,禁用关闭浏览器自动最退出系统功能。
- [升级] 前端工程 Vite 版本升级至 3.1.1
- 依赖更新
- log4j 版本升级至 2.18.0
- wxjava 版本升级至 4.4.1.B
- aliyun-java-sdk-core 版本升级至 4.6.2
- tencentcloud-sdk-java-sms 版本升级至 3.1.593
- alipay-sdk-java 版本升级至 4.33.42.ALL
v2.7.3.4
🏗️ feat: v2.7.3.4
- 重要更新
- [升级] Spring Cloud 版本升级至 2021.0.4
- [升级] Skywalking Agent 版本升级至 8.12.0
- [新增] 基于 JPA 的多租户系统支持,支持 Database 和 Schema 两种模式,可通过配置进行开启和关闭。
- [重构] 基于 JetCache 的自定义 Hibernate 二级缓存,支持多租户模式下数据的分布式多级缓存。
- [重构] 重构前端详情页面参数的传递方式,解决 vue-router 自 4.1.4 版本不再建议使用 push param 传递参数而导致的新增、编辑功能不可用问题。
- 其它更新
- [优化] 优化部分代码日志输出内容及日志输出级别
- [优化] 优化基于 JetCache 的 Hibernate 二级缓存代码
- [升级] 升级 antisamy XSS 防护配置文件
- [修复] 临时修复 BPMN.js 在线工作流编辑器,在第一次加载页面时抛错无法显示 Canvas 和 Property Panel 问题。
- [修复] 第三方社交登录 logo 在生产环境下无法正常显示问题。
- [优化] 优化服务配置,将第三方社交登录相关配置移至 Nacos 方便修改。
- 依赖更新
- antisamy 版本升级至 1.7.1
- hutool 版本升级至 5.8.6
- tencentcloud-sdk-java-sms 版本升级至 3.1.590
- fastjson2 版本升级至 2.0.13
- alipay-sdk-java 版本升级至 4.33.39.ALL
v2.7.3.3
🚀 feat: v2.7.3.3
- 主要更新
- [新增] 前端根据后端配置的第三方社交登录信息,在前端登录页面自动生成第三方社交登录按钮。新增常见第三方社交登录 logo 图标,根据后端配置自动显示。
- [新增] 新增 JustAuth 的第三方社交登录前端 Callback 处理逻辑,让第三方社交登录逻辑更合理清晰
- 其它更新
- [修复] 修改社交登录示例配置格式,解决错误配置格式导致第三方社交登录核心配置信息无法注入问题
- [修复] 社交登录处理器 Bean 名称与 微信小程序登录处理器 Bean 名称混淆问题。
- [优化] 优化外部登录接入模块 (Access 模块) 部分 Exception 代码,将其融入平台整体错误体系。
- [优化] 去除 dante-engine 中无用的依赖配置
- 依赖更新
- tencentcloud-sdk-java 版本升级至 3.1.587
- 友情提示
- 目前前端工程支持第三方社交登录,必须改为 History 模式,暂不支持 Hash 模式。
- 因很多常用第三方登录,需要以企业信息进行注册。所以第三方登录并未覆盖所有情况以及参数测试,需根据实际使用情况自行增减。也欢迎提交 PR。