在SpringMVC框架中Filter配置通常是在web.xml中加入如下代码:
1、在项目中加入**.properties
2、配置web.xml文件
<filter>
<filter-name>AuthenFilter</filter-name>
<filter-class>**.client.filter.XXFilter</filter-class>
<init-param>
<param-name>properties.path</param-name>
<param-value>/WEB-INF/classes/**.properties</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>AuthenFilter</filter-name>AuthenFilter
<url-pattern>/*</url-pattern>
</filter-mapping>
在SpringBoot项目中,更改为如下配置:
1、在项目中加入**.properties
2、添加WebConfig类
@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {
@Bean
public FilterRegistrationBean ssoFilter() throws IOException {
FilterRegistrationBean registrationBean = new FilterRegistrationBean();
AuthenFilter authenFilter = new AuthenFilter();
registrationBean.setFilter(authenFilter);
List<String> url = new ArrayList<String>();
url.add("/*"); //对所有路径起作用。对项目来说看其所需
registrationBean.setUrlPatterns(url);
Resource resource = ResourceUtils.getResource("classpath:/config/**.properties");
Map<String, String> initParameters=new HashMap<>();
initParameters.put("properties.path","file:/" + resource.getFile().getPath());
registrationBean.setInitParameters(initParameters);
registrationBean.setOrder(1);
return registrationBean;
}
}