Spring Async 사용 시 Security Context 전파 오류

xlwdn·2022년 11월 29일
0

문제 상황


Async 메서드를 통한 파일 처리(S3 upload)에서 SecurtyContext.getCredentials 작동하지 않음.

원인


@Async 선언으로 비동기 작업을 수행하는 메서드는 쓰레드가 변경되기에 threadHolder에 저장한 값을 조회하여 사용하는 SecurityContext를 활용할 수 없어 이러한 문제가 발생했습니다.

해결


비동기 함수에 진입 전에 조회하여 파라미터로 전달함으로써 사용하도록 수정했습니다.

0개의 댓글