| package com.dy.pipIrrModel.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; | 
|   | 
| @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; | 
|     } | 
|   | 
| } |