欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決Springboot @WebFilter攔截器未生效問題

 更新時間:2020年10月07日 08:52:55   作者:JustPlay1994  
這篇文章主要介紹了解決Springboot @WebFilter攔截器未生效問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

問題描述

@WebFilter(filterName = “ssoFilter”,urlPatterns = “/*”)

未生效攔截器

解決方法

在springboot啟動類上添加

@ServletComponentScan(basePackages = “full.package.path”)

路徑替換為@WebFilter所在包

補充知識:在spring boot中使用@WebFilter配置filter(包括排除URL)

我就廢話不多說了,大家還是直接看代碼吧~

@WebFilter(urlPatterns = "/*")
@Order(value = 1)
public class TestFilter implements Filter {
 
  private static final Set<String> ALLOWED_PATHS = Collections.unmodifiableSet(new HashSet<>(
      Arrays.asList("/main/excludefilter", "/login", "/logout", "/register")));
  @Override
  public void init(FilterConfig filterConfig) throws ServletException {
    System.out.println("init-----------filter");
  }
 
  @Override
  public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
    HttpServletRequest request = (HttpServletRequest) req;
    HttpServletResponse response = (HttpServletResponse) res;
    String path = request.getRequestURI().substring(request.getContextPath().length()).replaceAll("[/]+$", "");
    boolean allowedPath = ALLOWED_PATHS.contains(path);
 
    if (allowedPath) {
      System.out.println("這里是不需要處理的url進入的方法");
      chain.doFilter(req, res);
    }
    else {
      System.out.println("這里是需要處理的url進入的方法");
    }
  }
 
  @Override
  public void destroy() {
    System.out.println("destroy----------filter");
  }
}

@Order中的value越小,優(yōu)先級越高。

以上這篇解決Springboot @WebFilter攔截器未生效問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論