|
|
사용자 인증(로그인) 처리의 핵심 인터페이스
UsernamePasswordAuthenticationToken 등 인증 요청을 받아서, 등록된 AuthenticationProvider를 통해 인증을 시도합니다.
인증 성공 시 Authentication 객체를 반환하고, 실패 시 예외(BadCredentialsException 등)를 던집니다.
2. 왜 이 Bean 등록이 필요한가?
Spring Boot 2.x 시절에는 WebSecurityConfigurerAdapter 안에서 AuthenticationManager를 바로 가져올 수 있었지만,
Spring Security 5.7 이후(특히 Spring Boot 3.x)부터는 WebSecurityConfigurerAdapter가 Deprecated되면서
AuthenticationManager를 직접 Bean으로 등록해야 합니다.
AuthenticationConfiguration
Spring Security에서 자동 구성되는 설정 클래스.
내부적으로 AuthenticationManagerBuilder를 사용해 구성된 AuthenticationManager를 관리.
getAuthenticationManager() 호출
Spring Security 설정에서 구성된 모든 AuthenticationProvider와 UserDetailsService를 포함한
완성된 AuthenticationManager를 반환.
Bean 등록
@Bean으로 등록되기 때문에 다른 컴포넌트에서 주입받아 사용할 수 있음.
목적: AuthenticationManager를 Bean으로 등록해서 전역적으로 사용 가능하게 함.
필요성: Spring Security 최신 버전에서는 명시적으로 등록해야 함.
활용: 로그인 서비스나 커스텀 필터에서 직접 인증 처리할 때 사용.
|
|