24.05.27 22:19 작성
·
210
0
강사님 강의 스프링 시큐리티 6 에서 AuthenticationManager를 생성할 때 HttpSecurity.getSharedObject()를 사용하는 것으로 공부했는데 AuthenticationConfiguration 으로 생성하는 것과는 어떤 차이가 있는 건가요?
더 권장되는 방식이 있는 건가요??
좋은 강의 감사합니다.
답변 2
0
2024. 06. 05. 16:09
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에 관한 자세한 문서나 가이드를 참고하는 것이 좋습니다. 실제 구현 시에는 프로젝트의具具체적인 보안 요구 사항을 고려하여 가장 적합한 방식을 선택하시기 바랍니다.