강의

멘토링

로드맵

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

Teo님의 프로필 이미지
Teo

작성한 질문수

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

요청 캐시 RequestCache / SavedRequest

로그인 후, redirect 에서 error

작성

·

69

0

localhost:8080 에서 login 페이지로 넘어가고, 로그인을 하면, error?cutomerParam=y 주소로 넘어갑니다. 리다이렉트는 문제없이 잘 된거 같은데 어디서 에러가 생격서 savedRequest 객체에 error가 저장되는지 도통 모르겠네요;;

2025-05-20 18 13 51.png.webp2025-05-20 18 15 36.png.webp

 

로그인 직후 network

image.png



답변 3

0

강의 수강중 같은 오류가 나서 코드확인결과 저는
SecurityConfig 코드에서 .successHander(successHandler)
해당부분에 .permitAll() 빼먹은거 추가하니 해결되었습니다. 같은증상인것같아 답변남겨드리니 코드한번 확인 해보세요!

0

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

혹시 csrf 문제가 아날까 하는데요

로그인 폼에 csrf 토큰이 있는지 확인해 보세요

0

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

로그인 후 특정 URL로 리다이렉트되는 과정에서 발생하는 오류에 관련하여, 보통 이 문제는 SavedRequest 객체가 엉뚱한 URL을 저장해서 발생합니다. 이 사례에서는 /error?customParam=y URL로 리다이렉트되는 문제가 있는 것 같습니다.

SavedRequest는 사용자가 인증되지 않은 상태에서 접근하려던 URL을 저장하고, 로그인 후 해당 URL로 리다이렉트하는 역할을 합니다. 하지만 때때로 오류 상황에서 /error 페이지로 리다이렉트되도록 설정이 잘못되거나 약간의 설정 변경이 필요할 수 있습니다.

문제 해결 방안:

  1. CustomAuthenticationSuccessHandler를 점검하여 SavedRequest 객체가 올바르게 초기화되어 있는지 확인해 보세요.

  2. Default Error Page 설정을 확인하세요. error를 인증이 필요 없도록 설정하거나, 예외 페이지로 이동하지 않도록 해 보세요.

  3. 기본적으로 Spring Security에서 제공하는 DefaultSavedRequest를 통해 사용자가 인증을 요구했을 때의 URL로 리다이렉트되도록 해보세요. SavedRequestAwareAuthenticationSuccessHandler를 사용하는 것도 도움이 될 수 있습니다.

관련하여 아래 URL에서 추가적인 정보와 비슷한 사례를 참고하실 수 있습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Teo님의 프로필 이미지
Teo

작성한 질문수

질문하기