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

리나님의 프로필 이미지

작성한 질문수

스프링 시큐리티 완전 정복 [6.x 개정판]

실무에서 spring boot 2.6.x 버전을 사용 하고 있는데요.

24.05.03 14:42 작성

·

304

·

수정됨

1

여기서 강의 나오는 버전 경우 spring security 버전이 6.x 버전입니다.

 

현재 실무에서 사용하고 있는 spring boot 버전이 2.6.x 인데요.

 

boot 업그레이드 하지 않고 security 버전을 6.x 버전으로 올려도 괜찮을까요?...

 

implementation group: 'org.springframework.boot', name: 'spring-boot-starter-security', version: '3.2.5'

 

build.gradle 파일에 이렇게 수정해서 올렸더니

 

@EnableWebSecurity

같은 중요한 객체가 import가 안되는 문제가 생겨서요 ㅠㅠ

답변 2

1

정수원님의 프로필 이미지
정수원
지식공유자

2024. 05. 07. 17:59

스프링 부트 기반으로 스프링 시큐리티를 사용하게 되면 자동설정에 의한 여러가지 프로세스가 동작하게 됩니다.

그렇기 때문에 스프링 시큐리티의 최신버전과 이전버전에서의 자동설정 프로세스가 차이날 수 있습니다.

가령 이전버전에서는 @EnableWebSecurity 를 선언하지 않아도 스프링 부트가 자동으로 처리해 주었는데 최신 버전에서는 @EnableWebSecurity 를 선언해 주어야 합니다.

그래서 가능한 스프링 부트와 스프링 시큐리티는 버전이 호환되도록 구성하는 것이 좋습니다.

버전이 호환이 안될 시 발생할 수 있는 문제들을 파악하기가 어려울 수도 있습니다.

0

인프런 AI 인턴님의 프로필 이미지

2024. 05. 05. 14:46

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

리나님의 질문에 대해 답변 드리겠습니다.

현재 실무에서 사용하시는 Spring Boot 버전이 2.6.x이고, Spring Security 6.x 버전으로 업그레이드를 고려하고 계신 상황을 이해했습니다. 단, 제공된 정보에는 Spring Boot 및 Spring Security 버전 간 호환성에 대한 구체적인 설명은 없습니다. 그러나 일반적으로 Spring Boot와 Spring Security는 밀접하게 통합되어 있어서 한쪽의 주요 버전을 업그레이드할 때는 호환성을 고려하여 함께 업그레이드하는 것이 좋습니다.

보통 Spring Security의 대규모 업그레이드(예: 5.x에서 6.x로)는 Spring Boot의 새 버전과 함께 제공될 때가 많습니다. 이는 새로운 기능과 보안 개선 사항을 통합하여 개발자들이 보다 쉽게 최신 보안 관행을 따를 수 있도록 하기 위함입니다.

@EnableWebSecurity와 같은 중요한 객체가 import되지 않는 문제는 호환되지 않는 버전 때문에 발생할 수 있습니다. 이런 경우 Spring Boot와 Spring Security의 버전 호환성을 다시 확인하시기 바랍니다.

특정 버전의 Spring Boot와 호환되는 Spring Security 버전을 확인하기 위해서는 Spring Boot의 공식 문서를 참고하는 것이 좋습니다. 해당 문서 내에서는 여러분이 사용하고 있는 Spring Boot 버전과 호환되는 Spring Security 버전에 대한 정보를 제공할 것입니다.

또한, Spring Boot의 주요 업그레이드를 고려하지 않고 Spring Security만 업그레이드하는 것은 다양한 의존성 문제를 초래할 수 있으므로, 가능하다면 Spring Boot도 함께 업그레이드하는 것을 고려해 보세요.

실무에서 중대한 결정을 내리기 전에 테스트 환경에서 충분한 테스트를 수행하여 안정성을 확보하는 것이 중요합니다.

리나님의 프로필 이미지

작성한 질문수

질문하기