v2.7.0.Beta3
Pre-release
Pre-release
-
重大更新
- 全面拥抱 Spring Authorization Server。基于 Spring Authorization Server 重新改版,替换即将停止维护的 Spring Security OAuth2。再也不用担心 Spring Security OAuth2 停止维护了。
- 基于 Spring Data JPA,重新构建 Spring Authorization Server 基础数据存储代码。替代原有 JDBC 数据访问方式,破除 Spring Authorization Server 原有数据存储局限,扩展为更符合实际应用的方式。配合自定义多级缓存加持,认证过程更加顺滑。
- 基于 Spring Authorization Server,在 OAuth 2.1 规范基础之上,增加自定义“密码”认证模式,以兼容现有基于 OAuth 2 规范的、前后端分离的应用可以平滑使用。
- 基于 Spring Authorization Server 新的数据存储结构,重新定义应用管理、客户端管理功能,同步修改前后端代码,管理更加便捷。
- 完全遵照 Spring Security 5 以及 Spring Authorization Server 的代码规范,进行 OAuth2 认证服务器核心代码的开发。
- 除了支持 Spring Authorization Server 的标准的Token加密校验方式外,还了增加支持自定义证书的 Token 加密方式,可通过配置动态修改。
- 重新梳理并调整优化已有配置参数,让工程配置参数更加清晰,层级更加合理。同时,拆分原有使用内部类定义的配置参数,进一步由配置参数导致的代码耦合。
- 同步优化 Nacos 配置内容,采用 Spring Authorization Server 标准 Token 校验方式,新服务增加无须再增加配置文件和进行 Client 配置。
- 重新梳理本微服务架构内的错误体系及相关代码,已有的 Exception 类放入更合理的保重,无须再经过修改通用基础包中代码,即可便捷的将新的 Exception 融入到系统的错误体系中。同时,仍旧支持自定义错误码以及人机交互友好的自定义错误提示。
- 对已有代码进行了深度的“庖丁解牛”。严格遵照“单一职责”原则,根据各个组件的职责以及用途,拆解细化为多个各自独立组件模块,在最大程度上降低代码间的耦合。降低工程代码编译耗时,改进 CICD 效率,提升代码可维护性。
- 除已有的组件模块外,对现有工程代码分包也进一步调整,分包和逻辑更加清晰。
-
其它更新
- 优化接口权限鉴权逻辑,解决通配符类型权限与全路径权限冲突或重复的问题,实现重复权限剔除并以最大化匹配方式进行权限匹配逻辑。
- 由于 Spring Authorization Server 机制和模式的变化,原有团队管理功能已不符合实际,相关功能已删除。
- 前端部分功能配合后端功能变化进行同步修改和改进。
- 原有 Herodotus Engine 工程中的模块,根据实际代码变更。代码包以及代码进行了一定的优化和整合。
- 核心依赖 dependencies 采用参数方式,统一定义版本号方便其它依赖工程覆盖和修改版本号。
- 改进错误信息展示,同时支持 Mvc 和 Json 两种方式,通过浏览器操作的 Mvc 方式错误也可以通过界面展示了。