配置多個(gè)過(guò)濾器
@Configuration
public class FilterConfig {
@Bean
public FilterRegistrationBean registFilter(){
FilterRegistrationBean registration = new FilterRegistrationBean();
//配置認(rèn)證過(guò)濾器
registration.setFilter(new CASFilterExtend());
registration.setName("CAS Filter");
//設(shè)置過(guò)濾器的參數(shù)
registration.addInitParameter("casserverLoginIP","192.168.1.128:8080");
registration.addUrlPatterns("/*");
//設(shè)置優(yōu)先級(jí)
registration.setOrder(9);
return registration;
}
@Bean
public FilterRegistrationBean testFilter(){
FilterRegistrationBean registration = new FilterRegistrationBean();
//測(cè)試的過(guò)濾器
registration.setFilter(new MyTestFilter());
registration.addUrlPatterns("/*");
registration.setOrder(3);
return registration;
}
}
- 過(guò)濾器的優(yōu)先級(jí)
數(shù)字越低優(yōu)先級(jí)越高
- 自定義過(guò)濾器
通過(guò)實(shí)現(xiàn)Filter接口 在doFilter中進(jìn)行過(guò)濾條件設(shè)置
public class MyTestFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
System.out.println("進(jìn)入測(cè)試過(guò)濾器中");
//放行
filterChain.doFilter(servletRequest,servletResponse);
}
@Override
public void destroy() {
}
}