유튜브블로그Top 10
내 프로필

데브허브 안내
소개업데이트 소식

데브허브 커뮤니티

issue#47 security 적용 후 에러나는 현상

코딩하는오후

2025. 7. 20.

0

#backend
#infra
  • LMS 프로젝트에 시큐리티 컴포넌트를 적용하는 과정에서 Application failed to startBearerAuthenticationFilter 주입 실패 에러가 발생했습니다. 💥
  • 이 에러는 스프링의 다이나믹 프록시 생성 방식(CGLIB 또는 인터페이스 기반)과 관련된 문제로 파악되었습니다. 🕵️‍♂️
  • 초기 해결 시도로 proxyTargetClass 옵션 변경이나 EnableAsync 제거를 시도했으나, 문제 해결에 직접적인 도움이 되지 않았습니다. 🚧
  • 첫 번째 문제 해결책으로 BearerAuthenticationFilter를 빈으로 등록하는 대신 SecurityConfig 내에서 직접 new 연산자로 생성하고 필요한 의존성을 주입하는 방식을 사용했습니다. 🛠️
  • 이 해결책으로 프록시 문제는 해결되었으나, Modulith 적용 프로젝트에서 package-info.javaallowed-dependencies 설정과 패키지 구조로 인해 SecurityConfigSignJWT 컴포넌트 외부의 config 패키지에 있을 때 접근 문제가 발생했습니다. 📦
  • 최종 해결책은 SecurityConfigSignJWT 컴포넌트 패키지 안으로 옮겨, 모든 필요한 서비스에 대한 접근성을 확보하는 것이었습니다. 🚀
  • 개발 시 복합적인 문제가 발생할 수 있으며, 특정 상황(예: 필터)에서는 스프링 빈 주입 대신 직접 객체를 생성하는 방식도 고려할 수 있음을 시사합니다. 🤔
  • 발표자는 LMS 프로젝트에 Modulith를 적용하며 시큐리티 컴포넌트를 재사용 가능한 형태로 만들고 있으며, 이 과정에서 발생한 실제 이슈를 공유했습니다. 💡

Recommanded Videos