>Java >java지도 시간 >여러 HTTP 구성을 사용하는 Spring 보안 구성이 작동하지 않는 이유는 무엇입니까?

여러 HTTP 구성을 사용하는 Spring 보안 구성이 작동하지 않는 이유는 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-29 18:05:17757검색

Why Doesn't My Spring Security Configuration with Multiple HTTP Configurations Work?

Spring Security: 다중 HTTP 구성이 작동하지 않음

맞춤형 로그인 페이지 및 보안 URL을 위해 다중 HTTP 구성이 필요한 상황이 발생할 수 있습니다. 다음 시나리오에서 알 수 있듯이 액세스 권한을 부여합니다.

@Configuration
@Order(1)
public static class ProviderSecurity extends WebSecurityConfigurerAdapter {
    // Security configuration for admin/* routes
}

@Configuration
@Order(2)
public static class ConsumerSecurity extends WebSecurityConfigurerAdapter {
    // Security configuration for consumer/* routes
}

그러나 이 접근 방식은 다음과 같은 결과를 가져올 수 있습니다. 하나의 구성만 활성화되는 불일치. 이 문제를 해결하려면 Spring 보안 참조 가이드를 참조하세요:

@EnableWebSecurity
public class MultiHttpSecurityConfig {
    // Authentication configuration

    @Configuration
    @Order(1)
    public static class ApiWebSecurityConfigurationAdapter extends WebSecurityConfigurerAdapter {
        // Security configuration for /api/* routes
    }

    @Configuration
    public static class FormLoginWebSecurityConfigurerAdapter extends WebSecurityConfigurerAdapter {
        // Security configuration for all other routes
    }
}

핵심 사항:

  • 평소와 같이 인증을 구성하세요.
  • 여러 항목의 처리 순서를 지정하세요. @Order를 사용하여 구성합니다.
  • antMatcher를 사용하여 URL을 기반으로 특정 구성의 범위를 제한합니다. 패턴.

이전 예에서는 / antMatcher(모든 URL과 일치)를 사용한 첫 번째 구성이 두 번째 구성을 재정의하여 두 번째 구성의 URL이 보호되지 않기 때문에 문제가 발생합니다. 첫 번째 구성의 범위를 /admin/으로만 제한하면 두 번째 구성의 URL에 적절한 보안 메커니즘이 적용됩니다.

위 내용은 여러 HTTP 구성을 사용하는 Spring 보안 구성이 작동하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.