package com.dy.pipIrrOperation.config; 
 | 
  
 | 
import com.dy.common.webFilter.DevOfDataSourceNameSetFilter; 
 | 
import com.dy.common.webFilter.UserTokenFilter; 
 | 
import jakarta.servlet.Filter; 
 | 
import org.springframework.beans.factory.annotation.Value; 
 | 
import org.springframework.boot.web.servlet.FilterRegistrationBean; 
 | 
import org.springframework.context.annotation.Bean; 
 | 
import org.springframework.context.annotation.Configuration; 
 | 
  
 | 
/** 
 | 
 * @author ZhuBaoMin 
 | 
 * @date 2024-05-07 14:51 
 | 
 * @LastEditTime 2024-05-07 14:51 
 | 
 * @Description 
 | 
 */ 
 | 
@Configuration 
 | 
public class WebFilterConfiguration { 
 | 
  
 | 
    @Value("${pipIrr.global.dev}") 
 | 
    public String isDevStage ;//是否为开发阶段 
 | 
    @Value("${pipIrr.global.dsName}") 
 | 
    public String dsName ;//开发阶段的数据源名称 
 | 
  
 | 
    /** 
 | 
     * DevOfDataSourceNameSetFilter与UserTokenFilter只能一个被配置上, 
 | 
     * 所以他们的order都是1 
 | 
     */ 
 | 
    private static final int order_UserTokenFilter = 1 ;//与下面 
 | 
    private static final int order_DevOfDataSourceNameSetFilter = 1 ; 
 | 
  
 | 
  
 | 
    @Bean 
 | 
    public FilterRegistrationBean<? extends Filter> RegFilter() { 
 | 
        FilterRegistrationBean<Filter> filterRegistrationBean = new FilterRegistrationBean<>(); 
 | 
        if(this.isDevStage != null && !this.isDevStage.trim().equals("") && this.isDevStage.trim().equalsIgnoreCase("true")){ 
 | 
            filterRegistrationBean.setFilter(new DevOfDataSourceNameSetFilter()); 
 | 
            filterRegistrationBean.addUrlPatterns("/*");//配置过滤规则 
 | 
            filterRegistrationBean.addInitParameter("dataSourceName",dsName);//设置init参数 
 | 
            filterRegistrationBean.setName("DevOfDataSourceNameSetFilter");//设置过滤器名称 
 | 
            filterRegistrationBean.setOrder(order_DevOfDataSourceNameSetFilter);//执行次序 
 | 
        }else{ 
 | 
            filterRegistrationBean.setFilter(new UserTokenFilter()); 
 | 
            filterRegistrationBean.addUrlPatterns("/*");//配置过滤规则 
 | 
            filterRegistrationBean.setName("UserTokenFilter");//设置过滤器名称 
 | 
            filterRegistrationBean.setOrder(order_UserTokenFilter);//执行次序 
 | 
        } 
 | 
        return filterRegistrationBean; 
 | 
    } 
 | 
  
 | 
} 
 |