AuthenticationManager that could not be found.

한지연·2023년 7월 4일
0

Description:

Parameter 3 of constructor in com.myproject.plogging.config.SecurityConfig required a bean of type 'org.springframework.security.authentication.AuthenticationManager' that could not be found.


Action:

Consider defining a bean of type 'org.springframework.security.authentication.AuthenticationManager' in your configuration.


Process finished with exit code 0

문제상황

custom filter를 등록하려는데 AuthenticationManager 때문에 안 됨

문제 해결

    @Bean
    public AuthenticationManager authenticationManager(AuthenticationConfiguration authenticationConfiguration) throws Exception {
        return authenticationConfiguration.getAuthenticationManager();
    }


         .addFilter(new JwtAuthenticationFilter(authenticationManager(http.getSharedObject(AuthenticationConfiguration.class))))
         .addFilter(new JwtAuthorizationFilter(authenticationManager(http.getSharedObject(AuthenticationConfiguration.class)), userRepository));

SecurityConfig 파일에 AuthenticationManager를 등록 후 가져다 사용했다.
WebSecurityConfigurerAdapter가 deprecated 되어서 이것저것 찾아보면서 고생하다가 이 방법으로 해결하게 되었다.

잡담

지금은 또 이제 이거 해결하고 나서 객체들끼리 맵핑 후에 무한 순환 참조 문제로 StackOverFlow 문제가 발생해 그 문제를 해결하러 가야 한다. 자꾸 설정 관련에서 발목이 잡히니 죽을 맛이다. 빨리 api 뚝딱뚝딱 만들고 싶은데.. 마음만 급해진다. 마음이 급할 수록 돌아가라고 했는데 그 돌아가는 길도 급한 마음에 달리지는 못하고 경보로 가는 느낌이다.

profile
배우고 활용하는 것을 즐기는 개발자, 한지연입니다!

0개의 댓글