Today Error
혼자 만드는 게시판 Error 1탄
디테일한 부분까지 하나하나 찾아보면서 다시 만들다보니
새로운 에러들을 많이 만나게 되었다.
특히 Spring Security를 구현하면서
Jwt토큰을 발행하고
Jwt 인증하면서 userDetailService.loadUserByUsername(username); 에서
return하는 값이 null인 것이다.
// JWT 토큰에서 인증 정보 조회
public Authentication getAuthentication(String username) {
UserDetails userDetails = userDetailsService.loadUserByUsername(username);
return new UsernamePasswordAuthenticationToken(userDetails, null, userDetails.getAuthorities());
}
SecurityConfig.java에서 JwtFilter를 잘 타고 내려오는 것도 확인을 하고
파라미터로 넘어간 username값이 잘 들어오는 것도 확인했는데
아무리 userDetails에 들어있는 값을 찍어도 null이 나오는 것이었다.
그렇다면 userDetailsService interface를 들어가봐도
딱히 로직이 잘못된 부분을 찾지 못했었다.
그러던중!!
아........................
실컷...UserDetailsServiceImpl.java파일에
UserDetailsService를 implements해서 구현해놓고
UserDetailsService를 interface를 그대로 가져다가 사용하고 있었다니....
userDetailService.loadUserByUsername(username);
그러니까 아규먼트 값으로 넣어준 username이 들어가지 않았던 것 같다.
다시 UserDetailsService를 구현해놓은
'구현 클래스'인 UserDetailServiceImpl.java 파일을 가져다 사용할 수 있도록 선언해준 다음
PostMan을 사용하여 UserDetail에 값이 잘 들어가는지 확인해주었더니
값이 정상적으로 담기는 것을 확인 할 수 있었다.
'내일배움캠프 > Today I Learned' 카테고리의 다른 글
[TIL] 나의 마흔 여섯번째 회고록 (0) | 2023.01.29 |
---|---|
[TIL] 나의 마흔 다섯 번째 회고록 (1) | 2023.01.27 |
[TIL] 나의 마흔 세번째 회고록 (0) | 2023.01.11 |
[TIL] 나의 마흔 두번째 회고록 (0) | 2023.01.10 |
[TIL] 나의 마흔 한번째 회고록 (0) | 2023.01.09 |