successHandler() : Login 성공했을 때 success handler를 호출하는 API임
failureHandler() : Login이 Fail일 경우 failure handler를 call하는 API임, AuthenticationFailureHandler Interface를 구현한 것을 넣으면 됨, 그리고 인증 Fail시, exception message를 출력하고, Login page로 redirect되어 이동하게 함
permitAll() : http.authorizeRequests().anyRequest().authenticated(); 와 같이 Authorization(인가)관련 코드가 있다면 인증을 받지 않았다면 어떤 Request들도 접근이 안될 수 있음. Login page로 사용할 LoginPage도 인증을 받지 않으면 접근이 불가능한데 permitAll을 붙여주면 해당 Path는 인증을 받지 않아도 누구나 접근이 가능해짐을 말함
3. Form Login 인증 Filter 동작과정
Image 대처
Form Login을 사용하게 되면 인증 Filter인 UsernamePasswordAuthenticationFilter가 실행됨
AntPathRequestMatcher는 Request Info의 URL이 해당 값으로 시작되는지 Check를 하며 Reequest Info와 일치하지 않으면 chain.doFilter로 이동함