- JWT인증이 설정되어 있다면 원래대로라면 로그인을 통해 인증한 후 accessToken값을 매 요청마다 설정해주어야 합니다.
- 이렇게 되면 컨트롤러 테스트에서 MockMvc를 이용해 요청을 날릴 때 마다 로그인을 먼저 한 다음 accessToken값을 얻어와서 다시 요청을 해야합니다.
- 일단 결론적으로 이 과정을 WithUserDetails를 통해 생략할 수 있음을 확인했습니다.
@WithUserDetails("user1")
// "user1" 값은 등록된 Bean 중 UserDetailsService를 찾아 loadUserByUsername의 파라미터 값으로 바인딩된다.
- WithUserDetails를 사용하면 로그인 과정이 진행되고 결과적으로 SecurityContext에 Authentication이 설정되게 됩니다.
-> 디버깅을 찍어보니 SecurityContextHolderFilter보다 먼저 동작함을 확인할 수 있었습니다.
-> Jwt인증을 거치기도 전에 SecurityContext에 인증객체가 들어있기 때문에 accssToken은 보낼 필요가 없습니다.
'Spring' 카테고리의 다른 글
세션고정 취약점 및 보호 정책 (0) | 2023.05.18 |
---|---|
LAZY로딩 관련 정리(직렬화 오류, N+1문제) (0) | 2023.05.11 |
@preAuthorize() 로그인 페이지 매핑 (0) | 2023.04.28 |
@AllArgsConstructor 사용 지양에 따른 리팩토링 (1) | 2023.04.19 |
테스트 단 @Transactinal 롤백 (5) | 2023.03.30 |