인프런 커뮤니티 질문&답변

literate_t님의 프로필 이미지
literate_t

작성한 질문수

스프링 시큐리티

3) 인증 처리자 - AjaxAuthenticationProvider

AjaxAuthenticationProvider에서 authenticate 함수 재정의 할 때 @Transactional 관련 질의입니다.

작성

·

239

0

안녕하세요. 강의 잘 듣고 있습니다.
제가 수강하는 시점엔 SpringBoot 3.x.x, security6를 써야 하지만, security5과 아키텍처는 대동소이할 거 같아 수업과 동일한 환경에서 강의 듣고 있습니다.

강사님 영상에서 10:45 보시면 authenticate()에 @Transactional이 들어가있는데요. 제가 실습 환경에서는, 이 애노테이션 때문인 것 같은데, AjaxAuthenticationProvider 프록시 객체 생성에서 에러가 발생합니다.

대체 @Transactional이랑 무슨 상관인지는 파악하지 못했지만 설마..하고 해당 애노테이션을 지우고 나니 AjaxAuthentication 프록시 객체가 잘 생성되고 정상 동작을 하더라고요.

이유가 정말 궁금합니다.

좋은 강의 감사합니다.

답변 2

1

정수원님의 프로필 이미지
정수원
지식공유자

음.. 네

제가 @Transactional 가 있는 상태에서 실행해 보면 오류가 발생하지는 않는데요..

전체 코드를 공유해 주시면 제가 확인해 볼 수는 있지만 아마 실행환경이 저와 틀릴 수 있을 것 같습니다.

@Transational 이 선언되었다고 해서 특별히 오류가 나야할 이유는 없습니다.

트랜잭션 처리를 하고 안하고의 문제이기 때문인데요..

정확한 원인은 직접 실행해 봐야 알 것 같습니다.

 

literate_t님의 프로필 이미지
literate_t
질문자

그렇군요..답변 감사드립니다.

0

안녕하세요, 인프런 AI 인턴입니다.

수강생님께서 AjaxAuthenticationProviderauthenticate 메서드에 @Transactional 애노테이션을 사용하는데 발생하는 문제와 그 이유에 대해 질문하셨네요. 해당 내용에 대해서는 강의 중에서도 다루어진 바 있으며, 강사님이 직접 답변을 제공한 예전 질문이 있어 참고하실 수 있습니다.

같은 내용에 대한 질문과 강사님의 답변은 다음 링크에서 확인하실 수 있습니다:
- @Transactional 사용 이유: 강의 Q&A 링크

질문자님의 경우와 유사한 상황에서 @Transactional 애노테이션이 필요 없거나, 원래는 JPA 관련 로직이 있었으나 나중에 제거되었기 때문에 해당 애노테이션이 불필요하다는 내용이었습니다. 삭제하셔도 무방하다는 조언을 받으실 수 있을 것입니다.

도움이 되셨길 바랍니다.

literate_t님의 프로필 이미지
literate_t
질문자

답변은 고마운데 나는 오류가 나는 이유가 알고 싶은거야 인턴 친구!

literate_t님의 프로필 이미지
literate_t

작성한 질문수

질문하기