sécurité du ressort http antMatcher avec plusieurs chemins

j'ai la règle de configuration java de sécurité du printemps suivante (avec la version 3.2.4) qui fonctionne:

http.antMatcher("/lti1p/**")
    .addFilterBefore(ltioAuthProviderProcessingFilter, UsernamePasswordAuthenticationFilter.class)
    .authorizeRequests().anyRequest().hasRole("LTI")
    .and().csrf().disable();

Cependant, j'aimerais appliquer cette règle à 2 chemins ("/lti1p/ " et ("/lti2p/"). Je ne peux pas simplement remplacer antMatcher par antMatchers (L'objet HttpSecurity ne le permet pas) et quand j'essaie quelque chose comme ça, il n'applique plus la règle correctement.

http
    .addFilterBefore(ltioAuthProviderProcessingFilter, UsernamePasswordAuthenticationFilter.class)
    .authorizeRequests()
    .antMatchers("/lti1p/**","/lti2p/**").hasRole("LTI")
    .and().csrf().disable();

j'ai essayé un certain nombre de variantes de ce sans aucune chance. Personne ne sait le comment appliquer correctement cette règle en utilisant java config à plusieurs chemins?

17
demandé sur Aaron Zeckoski 2014-08-11 03:57:16

2 réponses

essayez l'approche suivante:

http 
  .requestMatchers()
       .antMatchers("/lti1p/**","/lti2p/**")
       .and()
  .addFilterBefore(ltioAuthProviderProcessingFilter, UsernamePasswordAuthenticationFilter.class)
  .authorizeRequests().anyRequest().hasRole("LTI")
  .and().csrf().disable();
33
répondu Andrei Stefan 2014-08-19 18:12:53

Essaie:

.antMatchers("/lti1p/**").hasRole("LTI")
.antMatchers("/lti2p/**").hasRole("LTI")
-2
répondu gerrytan 2014-08-11 04:07:11