Spring Security 6 игнорирует конфигурацию безопасности из зависимости
Я перехожу с Spring Security 5.7.x на 6.1.0. После исправления всехjavax -> jakarta
и удалитьWebSecurityConfigurerAdapter
и добавил конфигурацию безопасности из зависимости. И теперь кажется, что мой основной проект игнорирует конфигурацию безопасности из-за зависимости.
Конфигурация безопасности из зависимости.
@Configuration
@EnableWebSecurity
@RequiredArgsConstructor
@Slf4j
public class WebSecurityConfig {
final private AuthFilter authFilter;
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
return http
.formLogin(AbstractHttpConfigurer::disable)
.csrf(AbstractHttpConfigurer::disable)
.sessionManagement(sessionManager -> sessionManager.sessionCreationPolicy(SessionCreationPolicy.STATELESS))
.exceptionHandling(exceptionHandling -> exceptionHandling.authenticationEntryPoint(
(request, response, ex) -> {
log.error("Unauthorized request - {}", ex.getMessage());
response.sendError(HttpServletResponse.SC_UNAUTHORIZED, ex.getMessage());
}))
.authorizeHttpRequests(
authorizeHttpRequest -> authorizeHttpRequest
.requestMatchers("/**").permitAll()
.anyRequest().authenticated())
.addFilterBefore(authFilter, UsernamePasswordAuthenticationFilter.class)
.httpBasic(Customizer.withDefaults())
.build();
}
Аутфильтр
@Component
@RequiredArgsConstructor
@Slf4j
public class AuthFilter extends OncePerRequestFilter {}
Я ожидаю, что сначала будет вызван AuthFilter, но он даже не дошел до него. Похоже, это игнорируется.
У кого-нибудь есть идеи, которые приводят к этому? Дайте мне знать, какую часть конфигурации вы хотели просмотреть.
2 ответа
Проблема может быть связана с именем вашего пользовательского компонента.filterChain
быть таким же, как и некоторые другие, исходя из контекста. Не могли бы вы попробовать переименовать его?
@Configuration
@EnableWebSecurity
@RequiredArgsConstructor
@Slf4j
public class WebSecurityConfig {
final private AuthFilter authFilter;
@Bean
public SecurityFilterChain myCustomFilterChain(HttpSecurity http) throws Exception {
Можете ли вы добавитьWebSecurityConfig
вorg.springframework.boot.autoconfigure.AutoConfiguration.imports
файл, который определен в каталоге ресурсов, показанном на изображении.