인프런 커뮤니티 질문&답변

강프로그래머님의 프로필 이미지
강프로그래머

작성한 질문수

스프링 시큐리티

5) AOP Method 기반 DB 연동 - MapBasedSecurityMetadataSource (2)

[해결 방법] MethodSecurityConfig.customMethodSecurityMetadataSource() 호출하지 않는 이슈

해결된 질문

작성

·

27

·

수정됨

0

@EnableGlobalMethodSecurity 애노테이션이 설정되어있는 곳 모두 찾아서 주석 처리

@Order(0)
//@EnableGlobalMethodSecurity(securedEnabled = true, prePostEnabled = true)
@EnableWebSecurity
@Configuration
public class SecurityConfig2 extends WebSecurityConfigurerAdapter {
@Order(1)
@Configuration
//@EnableGlobalMethodSecurity(securedEnabled = true)
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

 

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

강프로그래머님께서 공유해 주신 코드에서 @EnableGlobalMethodSecurity 애노테이션을 주석 처리하셨습니다. 이는 메소드 레벨 보안 설정이 적용되지 않도록 하신 것 같습니다. 하지만 MethodSecurityConfig.customMethodSecurityMetadataSource()가 호출되지 않는 이슈에 대한 해결책을 찾으시려면, 다음의 몇 가지 사항을 고려해보세요:

  1. 구성 클래스의 순서: @Order 애노테이션을 사용하여 보안 구성 클래스의 우선순위를 설정하셨습니다. 이 순서가 의도하신 대로 동작하는지를 확인해 보세요.

  2. 보안 설정의 겹침: 두 개의 보안 구성 클래스(SecurityConfig, SecurityConfig2)가 서로 겹치는 설정을 가지고 있을 수 있습니다. 필요에 따라 SecurityFilterChain을 분리하고, 각각의 설정이 충돌하지 않는지 확인하세요.

  3. 메소드 보안 재활성화: MethodSecurityConfig.customMethodSecurityMetadataSource()가 정말로 필요하다면 주석 처리된 @EnableGlobalMethodSecurity 애노테이션을 활성화해야 할 수도 있습니다. 메소드 레벨에서의 보안이 필요한 경우, 관련 설정을 다시 활성화하고 특정 설정이 누락되지 않았는지 검토해 보세요.

다음 자료를 참고하여 보다 정확한 원인을 파악하시고 해결하실 수 있습니다:
Spring Security Reference Guide

추가적으로 궁금한 점이 있으시면 언제든지 문의해 주세요. 좋은 하루 되세요!

강프로그래머님의 프로필 이미지
강프로그래머

작성한 질문수

질문하기