강의

멘토링

커뮤니티

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

blueraint님의 프로필 이미지
blueraint

작성한 질문수

스프링부트 시큐리티 & JWT 강의

스프링부트 시큐리티 25강 - jwt를 위한 강제 로그인 진행

AuthenticationFilter 의 ObjectMapper 관련

작성

·

453

1

UserNamePasswordAuthenticationFilter 구현체를 만드실 때 Http request 의 deserialization 객체로 ObjectMapper를 쓰셨는데요.

아마 저런식으로 new 를 지정해서 쓰게 되면 대용량 트래픽이 발생하는 경우(정확히는 사용자가 최초로 동시에 로그인해서 몰릴때겠죠?) ObjectMapper instance가 메모리를 많이 잡아먹어 문제가 발생할 여지가 높아 보입니다. -> 그래서 별도로 싱글톤으로 객체를 주입하여 써보려하면 어떨까 합니다.

또한 Filter를 별도 설정하면서 따로 injection하지 않고 새로 만들어 쓰는 전략을 취하셨는데요. Filter 내 토큰 인증시 UserDetails 나 Authentication에 대한 이용이 들어가므로 new쓸 수 밖에 없긴 할거같은데... 개선방안이 있으신지요?

 

답변 1

0

최주호님의 프로필 이미지
최주호
지식공유자

그 부분까지는 제가 신경을 안쓰고 만들었어요. 성능....부분요!!

 

1. 그래서 별도로 싱글톤으로 객체를 주입하여 써보려하면 어떨까 합니다.

 - 좋을 것 같아요.

 

2. Filter를 ... 개선방안이 있으신지요?

 - 필터는 어차피 시큐리티 메모리에 올라올 때 한번만 실행되는 것이기 때문에.... new 해도 상관없습니다. 제가 생각하는 영상 부분이 맞다면요!!

 - request 요청시마다 필터가 new 되서 실행되는 것은 아니구, 이미 new 된 객체에 메서드만 여러 클라이언트가 공유해서 호출하는 개념이기때문에 괜찮아용

 

blueraint님의 프로필 이미지
blueraint

작성한 질문수

질문하기