728x90
문제 상황
Async 메서드를 통한 파일 처리(S3 upload)에서 SecurtyContext.getCredentials 작동하지 않음.
원인
@Async 선언으로 비동기 작업을 수행하는 메서드는 쓰레드가 변경되기에 threadHolder에 저장한 값을 조회하여 사용하는 SecurityContext를 활용할 수 없어 이러한 문제가 발생했습니다.
해결
비동기 함수에 진입 전에 조회하여 파라미터로 전달함으로써 사용하도록 수정했습니다.
'SpringBoot' 카테고리의 다른 글
OneToMany 매핑 시 mappedBy 옵션 사용하여야하는 이유 (0) | 2023.06.10 |
---|---|
Spring Author Auditing 오류 (0) | 2023.06.10 |
UserDetailsService를 통해 받아온 UserDetails를 활용한 LazyLoading 구현 (OpenEntityManagerInView) (0) | 2023.06.10 |
SpringBoot WAS 기본 이해 (0) | 2023.06.09 |
Spring Async 사용시 SecurityContext Thread 전파 오류 (0) | 2023.06.09 |