java.lang.Object
org.miaixz.bus.vortex.filter.AbstractFilter
org.miaixz.bus.vortex.filter.CipherFilter
- All Implemented Interfaces:
Filter,org.springframework.web.server.WebFilter
数据加解密过滤器,负责对请求参数进行解密和对响应数据进行加密处理
该过滤器在过滤器链中位于较高优先级位置(Ordered.HIGHEST_PRECEDENCE + 1), 主要用于对加密的请求参数进行解密操作,以及对响应数据进行加密处理。
请求处理阶段:当解密功能启用且上下文标记需要解密时,过滤器会遍历所有请求参数,对非空参数值进行解密处理。 响应处理阶段:当加密功能启用且响应格式为XML或JSON时,过滤器会拦截响应数据,对消息中的数据进行加密处理。
目前支持AES-CBC-PKCS7Padding加解密方式,通过配置文件可以设置加解密密钥和偏移量。
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Constructor Summary
Constructors -
Method Summary
Methods inherited from class org.miaixz.bus.vortex.filter.AbstractFilter
checkParams, filter, getAssets, getContext, getRequestMap, setContentType
-
Constructor Details
-
CipherFilter
构造器,初始化加解密配置- Parameters:
decrypt- 解密配置对象encrypt- 加密配置对象
-
-
Method Details
-
init
@PostConstruct public void init()初始化方法,在 bean 创建后执行,配置 AES 加解密实例 -
doFilter
protected reactor.core.publisher.Mono<Void> doFilter(org.springframework.web.server.ServerWebExchange exchange, org.springframework.web.server.WebFilterChain chain, Context context) 内部过滤方法,执行加解密逻辑- Specified by:
doFilterin classAbstractFilter- Parameters:
exchange- 当前的 ServerWebExchange 对象chain- 过滤器链context- 请求上下文- Returns:
reactor.core.publisher.Mono<Void>表示异步处理完成
-