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

식빵님의 프로필 이미지
식빵

작성한 질문수

스프링 시큐리티

9) 인증 성공 핸들러 : CustomAuthenticationSuccessHandler

RequestCache 가 있는 상태에서 뒤로가기 문제

해결된 질문

작성

·

371

0

안녕하세요, 강의 너무너무 재밌게 듣고 있는 수강자입니다 :)

오늘 인증 성공 핸들러 강의 듣다가 몇가지 테스트를 해봤는데, 정말 난감한 상황을 마주쳤습니다.

어떤 사용자가 아래처럼 행동한다고 가정하겠습니다.

1. 메인페이지( = "/" ) -> 마이페이지 메뉴 클릭

2. 로그인 화면 뜸 (이때 세션에 RequestCache 가 생성)

3. 뒤로가기 

4. 화면 상단의 로그인 버튼 클릭

5. 로그인 화면 뜸 (여전히 세션이 2번의 RequestCache 를 간직함)

6. 로그인을 성공

7. 마이페이지로 이동

이럴 때는 어떻게 해야할지 정말 난감하네요.

그냥 로그인 버튼을 클릭해서 로그인에 성공했으니, 

로그인 성공 디폴트 경로인 "/" 로 보내고 싶습니다.

어떻게 하는게 좋을까요?

답변 1

1

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

이같은 경우는 RequestCaChe 가 로그인 실패 이전의 url 정보를 가지고 있기 때문에 그런 현상이 발생하고 있습니다.

그래서 로그인 후 무조건 디폴트 경로로 가기 위해서는 defaultSuccessUrl("/경로", true) 와 같은 Api 를 사용하셔야 합니다.

RequestCaChe 를 사용하든지 아니면 기본 경로로만 이동하든지 결정해야 할 문제입니다.

두가지 모두의 경우에 대하여 별도의 로직을 구현할 수도 있지만 스프링 시큐리티의 내부 동작 원리를 충분히 이해해야 가능한 부분입니다.

일단 defaultSuccessUrl 를 사용해 보십시오

식빵님의 프로필 이미지
식빵
질문자

답변 감사합니다! 

일단 defaultSuccessUrl 쓰다가 시큐리티를 좀 더 숙달하면 해결법을 찾아보겠습니다 :)

식빵님의 프로필 이미지
식빵

작성한 질문수

질문하기