L'ajout d'un filtre personnalisé pour être invoqué après le printemps-filtre de sécurité dans un Servlet 3+ environnement

Je suis en utilisant le Printemps-Sécurité 3.2.4 et le Printemps de Démarrage 1.1.0 (et c'est lié dépendances versions 4.X).
Je suis en train d'écrire une application web qui sera lancé dans un tomcat intégré.

Je suis en train d'ajouter deux filtres supplémentaires(non liée à la sécurité Printemps) que l'un d'eux sera appelé avant le Printemps-Sécurité-FilterChainProxy et l'autre sera appelé après le Printemps-Sécurité-FilterChainProxy.

Mon Printemps-fichiers de configuration de Sécurité:

@Configuration
@EnableWebMvcSecurity
public class SecurityCtxConfig extends WebSecurityConfigurerAdapter {

@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
    auth
    .inMemoryAuthentication()
        .withUser("user").password("pass").roles("USER");
}

@Override
protected void configure(HttpSecurity http) throws Exception {
    http.csrf()
            .disable()
            .authorizeRequests()
            .anyRequest()
            .authenticated()
            .and()
            .formLogin()
            .usernameParameter("user").passwordParameter("password");
}
}

Et la classe Principale (Application.class):

@Configuration
@ComponentScan
@EnableAutoConfiguration
public class Application {

    @Bean
RequestFilter beforeSpringSecurityFilter(){
    return new RequestFilter();
}

@Bean
RequestFilter afterSpringSecurityFilter(){
    return new RequestFilter();
}

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

Et le Filtre de mise en œuvre:

public class RequestFilter extends OncePerRequestFilter {

@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response,
        FilterChain filterChain) throws ServletException, IOException {
        filterChain.doFilter(request, response);
}

}

Est-il un moyen de controler l'invocation de l'ordre lors de la prise en compte de la FilterChainProxy (c'est-à beeing créé par le WebSecurityConfigurerAdapter ?
Pour être percise, la commande est:

  1. demande-filtre-1
  2. Printemps-Sécurité FilterChain
  3. demande-filtre-2

Grâce

OriginalL'auteur Modi | 2014-06-23