작성
·
434
0
redirect 할때는 usernameauthenticationfilter 다음 필터부터 거치지 않는 원리가 궁금합니다. 디버깅을 해보니 기존 요청과의 차이점을 잘 모르겠는데 그 다음 필터를 거치지 않는 이유를 모르겠습니다.
또한 궁금한게 requestcacheawarefilter 에서는 redirect 하는게 아니라 세션에 캐쉬된 request로 요청을 바꿔서 그 다음 필터를 호출하는것이 맞나요?
미리 답변 감사드립니다.!
답변 2
0
기억을 기반으로 작성하자면, 처음 인증되지 않은 사용자에게 anonymous를 부여하는데, 이때 사용자의 authentication이 필요하게 됩니다. 여러 필터를 거치며 사용자를 인증하게 되며 인증이되고나면 contextHolder 에 저장하게 됩니다.이 후 redirect 하게되면, contextHolder에 저장된 인증정보를 사용하여 필터를 거치기 때문에 해당 필터(usernameAuthenticationFilter)를 거치지 않는 것으로 보입니다.
0
redirect 한다는 의미가 정확하게 무엇인지 추가 설명 해 주시면 감사하겠습니다.
인증에 성공한 이후인지 인증에 실패한 이후인지...
UsernamePasswordAuthenticationFilter 다음 필터부터 거치지 않는다는 것도 좀 더 설명을 해주시면 감사하겠습니다.
그리고 RequestCacheAwareFilter 에서는 세션에 Request 객체가 캐싱되어 있다면 해당 캐싱된 Request 객체를 다음 필터로 전달합니다.
질문하신 내용이 맞습니다.