2016-03-03 120 views
0

過濾器鏈我們有一大堆的過濾器設置的對陣基本URL這如下所示:春忽略某些網址

FilterRegistration.Dynamic characterEncoding = servletContext.addFilter("characterEncoding", characterEncodingFilter); 
    characterEncoding.addMappingForUrlPatterns(dispatcherTypes, true, "/*"); 

我有一個新的開放的URL,例如/open/pages/我想跳過所有這些預配置的過濾器。

我用彈簧與基於註解的配置,這是我的安全上下文規則:

http 
     .csrf().disable() 
        .logout() 
         .deleteCookies("JSESSIONID") 
         .invalidateHttpSession(true) 
       //Configures url based authorization 
       .and() 
        .authorizeRequests() 
         .antMatchers(OpenPageDataController.OPEN_PAGE_MAPPING + "/**") 
         .hasIpAddress("127.0.0.1") 
       .and() 
         .authorizeRequests() 
          //Anyone can access the urls 
          .antMatchers(
            "/auth/**", 
            "/login", 
            "/login/email/**", 
            "/signup/**", 
          ).permitAll() 
          .antMatchers("/**").hasRole("USER") 

這將是做到這一點的最好方法是什麼?

回答

0

嘗試增加:

.authorizeRequests().antMatchers("/open/pages/**").permitAll() 

這將使/open/pages/層次結構下的任何資源由非認證的用戶訪問。

+0

不幸的是,這並不能回答我的問題。問題是我需要跳過綁定到此URL的/ **的HTTP請求過濾器。 – Nick