package com.dy.pipIrrIrrigate.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 2023/12/20 21:17
|
* @LastEditTime 2023/12/20 21:17
|
* @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;
|
}
|
|
}
|