dongyukun
2024-12-31 0a2b23ad3f30dfb01c5d590fb98f39e93bfe1932
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package com.iailab.framework.common.enums;
 
/**
 * Web 过滤器顺序的枚举类,保证过滤器按照符合我们的预期
 *
 *  考虑到每个 starter 都需要用到该工具类,所以放到 common 模块下的 enum 包下
 *
 * @author iailab
 */
public interface WebFilterOrderEnum {
 
    int CORS_FILTER = Integer.MIN_VALUE;
 
    int TRACE_FILTER = CORS_FILTER + 1;
 
    int ENV_TAG_FILTER = TRACE_FILTER + 1;
 
    int REQUEST_BODY_CACHE_FILTER = Integer.MIN_VALUE + 500;
 
    // OrderedRequestContextFilter 默认为 -105,用于国际化上下文等等
 
    int TENANT_CONTEXT_FILTER = - 104; // 需要保证在 ApiAccessLogFilter 前面
 
    int API_ACCESS_LOG_FILTER = -103; // 需要保证在 RequestBodyCacheFilter 后面
 
    int XSS_FILTER = -102;  // 需要保证在 RequestBodyCacheFilter 后面
 
    // Spring Security Filter 默认为 -100,可见 org.springframework.boot.autoconfigure.security.SecurityProperties 配置属性类
 
    int TENANT_SECURITY_FILTER = -99; // 需要保证在 Spring Security 过滤器后面
 
    int FLOWABLE_FILTER = -98; // 需要保证在 Spring Security 过滤后面
 
    int DEMO_FILTER = Integer.MAX_VALUE;
 
}