@Service
@RequiredArgsConstructor
@Transactional(readOnly = true)
public class UserService {
private final UserRepository userRepository;
private final PasswordEncoder passwordEncoder;
private final AuthenticationManagerBuilder authenticationManagerBuilder;
public void login(LoginDto loginDto) {
UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(loginDto.getEmail(), loginDto.getPassword());
AuthenticationManager authenticationManager = authenticationManagerBuilder.getObject();
Authentication authenticate = authenticationManager.authenticate(authenticationToken);
}
}여기서 AuthenticationManagerBuilder는 언제 생성되는 것인가 궁금하여 stack trace를 따라가 보았다.
AuthenticationConfiguration 라는 spring security class에 @Configuration이 붙어져 있고, AuthenticationManagerBuilder가 @Bean으로 붙어져 있음을 확인.
