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

박진영님의 프로필 이미지

작성한 질문수

스프링 시큐리티 완전 정복 [6.x 개정판]

요청 캐시 RequestCache / SavedRequest

섹션2 인증프로세스 마지막 강의 SavedRequest 질문있습니다

해결된 질문

24.07.20 22:45 작성

·

93

·

수정됨

0

강의 잘 듣고있습니다. 궁금한 점은 다음과 같습니다.

로그인 성공 시, onAuthenticationSuccess 내부에서

파라미터 continue를 사용하지 않고 , 다음과 같이 /home 으로 이동하도록 하였습니다.

response.sendRedirect("/home")

그리고 /home 요청을 처리할 때,

RequestCacheAwareFilter 에서 SavedRequest 를 사용하지 않고 현재 request를 다음 필터로 넘기는 것을 보았고, 어차피 로그인이 성공되었으니, 정상적으로 /home 으로 가는 것도 확인하였습니다.

SavedRequest 를 사용하면 성능상 이점이 있다고 하셨지만, 어떤 부분에서 이점이 있는지 모르겠습니다.

SavedRequest 나 현재 request 는 같을텐데, 어떻게 이점이 있는지 궁금합니다 .감사합니다.

답변 2

1

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

2024. 08. 04. 19:14

continue 는 SavedRequest 가 null 이 아닌 경우에 SavedRequest 와 현재의 request 객체가 동일한지 검사하게 되는데 이 때 검사하는 기준이 모든 요청에 대해서 진행하는 것이 아니라 continue 경로의 요청에 한해서만 검사하게 된다는 의미입니다.

만약 모든 요청에 대해서 하게 된다면 즉, continue 가 없는 요청까지 무조건 검사하게 된다는 의미가 됩니다.

그런 관점에서 성능상 이점이 있다고 보시면 될 것 같습니다.

박진영님의 프로필 이미지
박진영
질문자

2024. 08. 08. 22:14

감사합니다 .!

0

인프런 AI 인턴님의 프로필 이미지

2024. 07. 22. 22:51

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

저희가 제공한 정보와는 직접적인 관련이 없어서 정확한 답변을 드리기 어렵습니다만, 일반적인 환경에서 SavedRequest를 사용하는 경우의 이점에 대해 설명드리겠습니다.

SavedRequest를 사용하는 주된 이점은 사용자의 원래 요청 정보를 보존하여 사용자가 로그인 과정을 거친 후에도 처음 요청했던 페이지로 자연스럽게 돌아갈 수 있도록 해준다는 점입니다. 사용자가 로그인을 필요로 하는 페이지에 접근했을 때, 직접 로그인 페이지로 이동하기 전의 요청 정보(목적지 URL, HTTP 메소드, 파라미터 등)를 저장해 두었다가, 로그인 성공 후 이 정보를 사용해 원래 사용자가 요청하려던 페이지로 리다이렉트 시킬 수 있습니다.

성능상의 이점보다는 사용자 경험(UX)을 향상시키는데 주된 목적이 있으며, 단순히 로그인 후 홈페이지로 리다이렉트하는 것보다 더 유동적이고 직관적인 사용자 경험을 제공할 수 있습니다. 성능상의 이점은 직접적으로 명시되어 있지 않으나, 사용자가 원하는 페이지로 빠르게 접근할 수 있게 해주어 전반적인 사이트 이용 경험을 향상시키는 것으로 볼 수 있습니다.

관련된 더 자세한 정보를 원하신다면, Spring Security 문서 또는 Spring Boot Reference Documentation에서 관련 내용을 찾아보시는 것을 추천합니다.