Ballcat v0.4.0 发布,Java 快速开发脚手架

栏目: 软件资讯 · 发布时间: 4年前

内容简介:BallCat 0.4.0 已经发布,此版本更新详情如下: Warning mybatis-plus 升级,其对应一些 count 方法,返回值修改为了 Long 类型,项目中有使用的地方需要对应修改 默认登录时返回的 token 属性有所变更,原 role...

BallCat 0.4.0 已经发布,此版本更新详情如下:

Warning

  • mybatis-plus 升级,其对应一些 count 方法,返回值修改为了 Long 类型,项目中有使用的地方需要对应修改
  • 默认登录时返回的 token 属性有所变更,原 roles 修改为 roleCodes,前端注意对应升级
  • websocket 默认使用 local 进行分发,这将导致集群状态下的数据推送异常,如需集群部署,请修改对应配置
  • websocket 相关接口 MessageSender 移除,该接口并入 MessageDistributor ,注意修改对应依赖引入类型

Added

  • feat:ballcat-auth 授权服务器定制增强:
    • 允许用户自定义 AccessTokenConverter,修改自省端点 /check_token 的返回值
    • 允许用户定制授权处理器或者新增授权处理器,用户可以通过覆盖 TokenGrantBuilder 实现
    • 允许用户添加自己的 AuthenticationProvider 方便处理自定义的 grant_type
    • 添加 OAuth2ClientConfigurer 抽象接口,方便用户替换 ClientDetailsService 的配置方式
    • ballcat-system 模块解耦,方便复用 ballcat-auth 快速搭建一个授权服务器,例如 C 端用户 和 后台用户分离登陆系统,各搭建一套基于 OAuth2 的登录。
    • 根据 OAuth2 规范,调整 check_token 端点响应,在 token 不正确时响应 200,响应体为 { active: false },而不是返回 400
  • feat:数据权限对于 jsqlparse 4.2 后,连表使用尾缀多个 OnExpression 方式的 SQL 解析支持
  • feat:角色添加 scopeResource 属性,以便支持自定义数据权限设置一些信息
  • feat:默认的 jackson 时间序列化添加了 Instant 类型支持,防止在使用时出现异常 InvalidDefinitionException: Java 8 date/time type java.time.Instant not supported by default

Changed

  • refactor:资源服务器对于客户端凭证生产的token 解析支持,对应的 userdetails 为 ClientPrincipal

  • refactor:授权服务器自省端点的 scope 属性响应调整,根据 OAuth2 自省端点协议,scope 应返回字符串,用空格间隔

  • refactor:数据权限调整

    • 问题修复: fix 数据权限在表名使用 `` 转义字符时失效的问题
    • 性能优化:对于无需数据权限控制的 sql 在解析一次后进行记录,后续不再进行解析处理
    • 结构调整:防止误用以及避免歧义,DataScopeHolder 修改为 DataScopeSqlProcessor 的私有内部类
  • refactor:SelectData 试图对象中的 value 修改为 Object 类型,selected 和 disabled 修改为 Boolean 类型

  • refactor:系统用户相关的 service 和 mapper 层,修改使用 Collection 接收参数,方便使用

  • refactor:TokenAttributeNameConstants 常量类拆分

  • refactor:UserInfoDTO 属性调整,新增了 menus 用于存储用户拥有的菜单对象集合,修改 roles 属性用于存储用户拥有的角色对象集合,原 roles 属性修改为 roleCodes 存储角色标识集合

  • refactor:为避免歧义,登录和自省端点返回信息中的属性名称 roles 修改为 roleCodes

  • bug:修复使用 ballcat-spring-boot-starter-web 时,若没有引入 security 依赖则启动异常的问题

  • refactor: system 相关事件优化调整

    1. 用户组织变动时发布 UserOrganizationChangeEvent 事件
    2. 用户新建的事件由 UserChangeEvent 修改为 UserCreatedEvent
    3. system 的 event 类从 biz 迁移到 model 模块中
  • refactor:ballcat-common-websocket 移除 MessageSender 接口,将其并入消息分发器 MessageDistributor

  • refactor:ballcat-spring-boot-starter-websocketredis 解耦,将默认注册的消息分发器由 redis 改为 local,基于内存分发。可通过 ballcat.websocket.message-distributor 属性修改为 redis 或者 custom,值为 custom 表示,用户自己定制 MessageDistributor(如修改为使用 mq,可用性更高)

    ballcat:
        websocket:
            # 默认为 local 仅支持单节点使用,redis 基于 PUB/SUB 消息订阅支持了集群下的消息推送问题
            message-distributor: redis # local | redis | custom
    
  • refactor:ballcat-spring-boot-starter-redis 调整 AddMessageEventListenerToContainer 的注册方式,防止用户配置包扫描导致的加载顺序异常

  • refactor:有用户绑定组织时,不允许删除组织

Dependency

  • Bump spring-boot from 2.4.8 to 2.5.5
  • Bump lombok from 1.18.16 to 1.18.20
  • Bump mybatis-plus 3.4.4 to 3.4.3.4
  • Bump mybatis 3.5.6 to 3.5.7
  • Bump jsqlparser 4.0 to 4.2
  • Bump flatten-maven-plugin from 1.2.5 to 1.2.7
  • Bump spring-javaformat from 0.0.27 to 0.0.28
  • Bump hutool from 5.7.3 to 5.7.12
  • Bump spring-boot-admin from 2.4.2 to 2.5.1
  • Bump dynamic-datasource-spring-boot-starter from 3.3.2 to 3.4.1

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Developing Large Web Applications

Developing Large Web Applications

Kyle Loudon / Yahoo Press / 2010-3-15 / USD 34.99

As web applications grow, so do the challenges. These applications need to live up to demanding performance requirements, and be reliable around the clock every day of the year. And they need to withs......一起来看看 《Developing Large Web Applications》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具