Module bus.vortex

Class LicenseFilter

java.lang.Object
org.miaixz.bus.vortex.filter.AbstractFilter
org.miaixz.bus.vortex.filter.LicenseFilter
All Implemented Interfaces:
Filter, org.springframework.web.server.WebFilter

@Order(-2147483644) public class LicenseFilter extends AbstractFilter
许可证校验过滤器。

作为系统中最高优先级的过滤器之一,它在所有请求的最前端强制执行许可证有效性检查。 如果许可证校验失败,请求将被立即中断,不会进入后续的业务逻辑。

Since:
Java 17+
Author:
Kimi Liu
  • Constructor Details

    • LicenseFilter

      public LicenseFilter(LicenseProvider provider)
      构造器,注入许可证校验提供者。
      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),并将其作为验证主体传递给 LicenseProviderprovider.validate 方法若校验失败,应抛出异常,该异常将被框架的全局异常处理器捕获, 从而中断请求并返回统一的错误响应。

      Specified by:
      doFilter in class AbstractFilter
      Parameters:
      exchange - 当前的 ServerWebExchange 对象
      chain - 过滤器链
      context - 请求上下文
      Returns:
      reactor.core.publisher.Mono<Void> 表示异步过滤操作的完成
      Throws:
      org.miaixz.bus.core.lang.exception.ValidateException - 如果许可证校验失败