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

장근영님의 프로필 이미지

작성한 질문수

스프링 시큐리티 OAuth2

기본 환경 및 공통 클래스 구성

AuthenticationManager 질문 있습니다.

작성

·

254

0

강사님 강의 스프링 시큐리티 6 에서 AuthenticationManager를 생성할 때 HttpSecurity.getSharedObject()를 사용하는 것으로 공부했는데 AuthenticationConfiguration 으로 생성하는 것과는 어떤 차이가 있는 건가요?

더 권장되는 방식이 있는 건가요??

 

좋은 강의 감사합니다.

답변 2

0

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

HttpSecurity.getSharedObject() 와 AuthenticationConfiguration 에서 생성하는 AuthenticationManager 는 서로 다른 객체입니다.

부연설명하자면 AuthenticationConfiguration 에서 생성하는 AuthenticationManager 는 HttpSecurity.getSharedObject() 를 통해 생성되는 AuthenticationManager 의 parent 속성에 저장되는 객체라 보시면 됩니다

그래서 일반적으로 HttpSecurity.getSharedObject() 를 사용하시면 됩니다.

0

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

장근영님, 질문해주셔서 감사합니다. 강의 내용과 직접적으로 연결된 정보는 제공되지 않았으나, 일반적으로, HttpSecurity.getSharedObject()를 사용하는 방식과 AuthenticationConfiguration을 통해 AuthenticationManager를 생성하는 방식은 Spring Security 구성 컨텍스트 내에서 객체를 참조하는 방식에서 차이를 보입니다.

  • HttpSecurity.getSharedObject() 메소드는 HttpSecurity 객체가 생성될 때 설정된 공유 객체를 가져올 때 사용됩니다. 이는 주로 필터 체인 구성 중에 여러 설정들 사이에서 공유되어야 하는 객체를 찾는데 사용됩니다. 이 방법을 사용하면 이미 구성된 HttpSecurity 컨텍스트 내에 있는 객체를 쉽게 참조할 수 있습니다.

  • AuthenticationConfiguration을 사용하는 방식은 Spring Security의 설정 중 AuthenticationManager를 구성하고 접근하는 보다 명시적인 방법을 제공합니다. AuthenticationConfiguration을 통해 AuthenticationManager를 가져오거나 구성할 때, 보다 세밀한 제어가 가능하며, Spring Security 설정의 다른 부분과의 분리도 가능합니다.

둘 중 어느 방식이 더 권장되는지는 특정 애플리케이션의 요구 사항과 구성에 따라 다를 수 있습니다. 복잡한 보안 요구 사항이 있는 애플리케이션의 경우 AuthenticationConfiguration을 사용해서 더 세밀한 제어가 가능한 방법이 유리할 수 있습니다. 단순한 경우에는 HttpSecurity.getSharedObject()를 사용하는 것이 더 편리할 수 있습니다.

Spring Security에 관한 자세한 문서나 가이드를 참고하는 것이 좋습니다. 실제 구현 시에는 프로젝트의具具체적인 보안 요구 사항을 고려하여 가장 적합한 방식을 선택하시기 바랍니다.