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 к нескольким путям?
Ответы
Ответ 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")