Skip to content

v2.7.0.Beta3

Pre-release
Pre-release
Compare
Choose a tag to compare
@herodotus-ecosystem herodotus-ecosystem released this 22 Mar 15:02
  • 重大更新

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

    • 优化接口权限鉴权逻辑,解决通配符类型权限与全路径权限冲突或重复的问题,实现重复权限剔除并以最大化匹配方式进行权限匹配逻辑。
    • 由于 Spring Authorization Server 机制和模式的变化,原有团队管理功能已不符合实际,相关功能已删除。
    • 前端部分功能配合后端功能变化进行同步修改和改进。
    • 原有 Herodotus Engine 工程中的模块,根据实际代码变更。代码包以及代码进行了一定的优化和整合。
    • 核心依赖 dependencies 采用参数方式,统一定义版本号方便其它依赖工程覆盖和修改版本号。
    • 改进错误信息展示,同时支持 Mvc 和 Json 两种方式,通过浏览器操作的 Mvc 方式错误也可以通过界面展示了。