Подтвердить что ты не робот

Spring защита http antMatcher с несколькими путями

У меня есть следующее spring правило конфигурации безопасности java (с версией 3.2.4), которое работает:

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

Однако я хотел бы применить это правило к двум путям ( "/lti1p/ " и ( "/lti2p/" ). Я не могу просто заменить antMatcher на antMatchers (объект HttpSecurity doesn 't разрешить это), и когда я попробую что-то вроде этого, он больше не применяет правило.

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

Я попробовал несколько вариантов этого без везения. Кто-нибудь знает правильный способ применить это правило с помощью java config к нескольким путям?

4b9b3361

Ответ 1

Попробуйте выполнить следующий подход:

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

Ответ 2

Try:

.antMatchers("/lti1p/**").hasRole("LTI")
.antMatchers("/lti2p/**").hasRole("LTI")