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

rere님의 프로필 이미지
rere

작성한 질문수

스프링 시큐리티

9) 인증 성공 핸들러 : CustomAuthenticationSuccessHandler

redirect시에 그 다음 필터를 거치지 않는 원리가 궁금합니다.

작성

·

434

0

redirect 할때는 usernameauthenticationfilter 다음 필터부터 거치지 않는 원리가 궁금합니다. 디버깅을 해보니 기존 요청과의 차이점을 잘 모르겠는데 그 다음 필터를 거치지 않는 이유를 모르겠습니다. 

또한 궁금한게 requestcacheawarefilter 에서는 redirect 하는게 아니라 세션에 캐쉬된 request로 요청을 바꿔서 그 다음 필터를 호출하는것이 맞나요?

 

미리 답변 감사드립니다.!

답변 2

0

기억을 기반으로 작성하자면, 처음 인증되지 않은 사용자에게 anonymous를 부여하는데, 이때 사용자의 authentication이 필요하게 됩니다. 여러 필터를 거치며 사용자를 인증하게 되며 인증이되고나면 contextHolder 에 저장하게 됩니다.이 후 redirect 하게되면, contextHolder에 저장된 인증정보를 사용하여 필터를 거치기 때문에 해당 필터(usernameAuthenticationFilter)를 거치지 않는 것으로 보입니다.

0

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

redirect 한다는 의미가 정확하게 무엇인지 추가 설명 해 주시면 감사하겠습니다.

인증에 성공한 이후인지 인증에 실패한 이후인지...

UsernamePasswordAuthenticationFilter 다음 필터부터 거치지 않는다는 것도 좀 더 설명을 해주시면 감사하겠습니다.

그리고 RequestCacheAwareFilter 에서는 세션에 Request 객체가 캐싱되어 있다면 해당 캐싱된 Request 객체를 다음 필터로 전달합니다.

질문하신 내용이 맞습니다.

 
rere님의 프로필 이미지
rere

작성한 질문수

질문하기