2016-03-03 121 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