Программисты JAVA общаются здесь
Anonymous
Конфигурация с несколькими точками входа выдает мне ошибку 403 для Spring Security 6
Сообщение
Anonymous » 02 окт 2024, 12:04
Я настроил свою конфигурацию websecurityconfig с несколькими точками входа для моего приложения.
При такой конфигурации все мои запросы API завершаются неудачно.
Код: Выделить всё
@Configuration
@EnableWebSecurity
@EnableMethodSecurity(securedEnabled = true, proxyTargetClass = true)
public class WebSecurityConfig {
@Configuration
@Order(1)
public static class ApiWebSecurityConfigurationAdapter implements RequestMatcher {
@Autowired
public void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.authenticationProvider(basicAuthenticationProvider)
.authenticationProvider(jwtAuthenticationProvider);
}
@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
String apiRegex = "/(" + apiPrefix + "/)?api";
http
.securityMatcher("/api/**", "/" + apiPrefix + "/api/**")
.addFilterBefore(new RequestFilter(), UsernamePasswordAuthenticationFilter.class)
.authorizeHttpRequests((requests) -> requests
.requestMatchers(HttpMethod.GET, apiRegex, apiRegex + "/v\\d+").permitAll()
.anyRequest().authenticated()
)
.sessionManagement((session) -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS))
.httpBasic((httpBasic) -> httpBasic.realmName("Realm"))
.exceptionHandling((exceptions) -> exceptions.authenticationEntryPoint(new RestApiAuthenticationEntryPoint()))
.x509((x509) -> x509.userDetailsService(x509UserDetailsService))
.csrf(AbstractHttpConfigurer::disable);
return http.build();
}
}
@Configuration
@Order(2)
public class AnotherWebSecurtyConfigurator {
@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
http.authorizeHttpRequests((requests) -> requests
.requestMatchers(HttpMethod.OPTIONS).denyAll()
.anyRequest().authenticated())
.csrf(AbstractHttpConfigurer::disable);
return http.build();
}
}
}
Но когда я удаляю вторую точку входа, запросы работают нормально. Я не уверен, что является причиной проблемы.
Подробнее здесь:
https://stackoverflow.com/questions/790 ... security-6
1727859890
Anonymous
Я настроил свою конфигурацию websecurityconfig с несколькими точками входа для моего приложения. При такой конфигурации все мои запросы API завершаются неудачно. [code]@Configuration @EnableWebSecurity @EnableMethodSecurity(securedEnabled = true, proxyTargetClass = true) public class WebSecurityConfig { @Configuration @Order(1) public static class ApiWebSecurityConfigurationAdapter implements RequestMatcher { @Autowired public void configure(AuthenticationManagerBuilder auth) throws Exception { auth.authenticationProvider(basicAuthenticationProvider) .authenticationProvider(jwtAuthenticationProvider); } @Bean public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { String apiRegex = "/(" + apiPrefix + "/)?api"; http .securityMatcher("/api/**", "/" + apiPrefix + "/api/**") .addFilterBefore(new RequestFilter(), UsernamePasswordAuthenticationFilter.class) .authorizeHttpRequests((requests) -> requests .requestMatchers(HttpMethod.GET, apiRegex, apiRegex + "/v\\d+").permitAll() .anyRequest().authenticated() ) .sessionManagement((session) -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS)) .httpBasic((httpBasic) -> httpBasic.realmName("Realm")) .exceptionHandling((exceptions) -> exceptions.authenticationEntryPoint(new RestApiAuthenticationEntryPoint())) .x509((x509) -> x509.userDetailsService(x509UserDetailsService)) .csrf(AbstractHttpConfigurer::disable); return http.build(); } } @Configuration @Order(2) public class AnotherWebSecurtyConfigurator { @Bean public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { http.authorizeHttpRequests((requests) -> requests .requestMatchers(HttpMethod.OPTIONS).denyAll() .anyRequest().authenticated()) .csrf(AbstractHttpConfigurer::disable); return http.build(); } } } [/code] Но когда я удаляю вторую точку входа, запросы работают нормально. Я не уверен, что является причиной проблемы. Подробнее здесь: [url]https://stackoverflow.com/questions/79040971/multiple-entry-point-configuration-is-giving-me-403-error-for-spring-security-6[/url]