지금까지의 모든 요청 들을 시큐리티가 필터를 적용해서 인증했다.
localhost로 처음 요청을 했고 인증이 필요 없는 페이지 이기 때문에 응답을 받았다.
그런데 브라우저가 기본적으로 favicon요청을 보낸다. 이게 시큐리티에도 걸린다.
.anyRequest().authenticated()
에 걸린다.인증 되지 않았기에 favicon 때문에 login으로 보내는 요청까지 있다. 그러나 브라우저는 따로 보여 주지는 않는다. 그래서 총 3개의 요청
그런데 화면은 localhost에 대한 응답을 받았기 때문에 정상 동작하는 것 처럼 보인다.
하지만 불필요한 리소스를 사용했다.
뒤의 2개의 요청
static 파일에 대한 요청은 필터에서 무시해야 된다.
WebSecurity를 설정하면 된다.
@Override
public void configure(WebSecurity web) throws Exception {
web.ignoring().mvcMatchers("/favicon.ico");
}
그렇지만 매번 static 리소스를 넣을 순 없다.
@Override
public void configure(WebSecurity web) throws Exception {
web.ignoring().requestMatchers(PathRequest.toStaticResources().atCommonLocations());
}
이처럼 static resource를 처리할 수 있다. 스프링 부트