SpringBoot過濾器

配置多個(gè)過濾器

  • 每個(gè)過濾器都配置成bean
@Configuration
public class FilterConfig {
    @Bean
    public FilterRegistrationBean registFilter(){
        FilterRegistrationBean registration = new FilterRegistrationBean();

        //配置認(rèn)證過濾器
        registration.setFilter(new CASFilterExtend());
        registration.setName("CAS Filter");
        //設(shè)置過濾器的參數(shù)
        registration.addInitParameter("casserverLoginIP","192.168.1.128:8080");

        registration.addUrlPatterns("/*");
        //設(shè)置優(yōu)先級
        registration.setOrder(9);
        return registration;
    }

    @Bean
    public FilterRegistrationBean testFilter(){
        FilterRegistrationBean registration = new FilterRegistrationBean();
        //測試的過濾器
        registration.setFilter(new MyTestFilter());
        registration.addUrlPatterns("/*");
        registration.setOrder(3);
        return registration;
    }
}
  • 過濾器的優(yōu)先級
    數(shù)字越低優(yōu)先級越高
  • 自定義過濾器
    通過實(shí)現(xiàn)Filter接口 在doFilter中進(jìn)行過濾條件設(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)入測試過濾器中");
        //放行
        filterChain.doFilter(servletRequest,servletResponse);
    }

    @Override
    public void destroy() {

    }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容