java.lang.Object
org.miaixz.bus.vortex.filter.AbstractFilter
org.miaixz.bus.vortex.filter.LicenseFilter
- All Implemented Interfaces:
Filter,org.springframework.web.server.WebFilter
许可证校验过滤器。
作为系统中最高优先级的过滤器之一,它在所有请求的最前端强制执行许可证有效性检查。 如果许可证校验失败,请求将被立即中断,不会进入后续的业务逻辑。
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Constructor Summary
Constructors -
Method Summary
Methods inherited from class org.miaixz.bus.vortex.filter.AbstractFilter
filter, getAssets, getContext, getOriginalAuthority, getOriginalProtocol, getRequestMap, setContentType, validate, valueOf
-
Constructor Details
-
LicenseFilter
构造器,注入许可证校验提供者。- Parameters:
provider- 授权提供者,负责处理许可证验证。
-
-
Method Details
-
doFilter
protected reactor.core.publisher.Mono<Void> doFilter(org.springframework.web.server.ServerWebExchange exchange, org.springframework.web.server.WebFilterChain chain, Context context) 过滤器的核心执行方法。此方法从当前请求中提取主机名和端口(Authority),并将其作为验证主体传递给
LicenseProvider。provider.validate方法若校验失败,应抛出异常,该异常将被框架的全局异常处理器捕获, 从而中断请求并返回统一的错误响应。- Specified by:
doFilterin classAbstractFilter- Parameters:
exchange- 当前的 ServerWebExchange 对象chain- 过滤器链context- 请求上下文- Returns:
reactor.core.publisher.Mono<Void>表示异步过滤操作的完成- Throws:
org.miaixz.bus.core.lang.exception.ValidateException- 如果许可证校验失败
-