본문 바로가기
오류를 개발새발

Spring Security 에서 web.ignoring()을 해도 정적 파일을 필터링해요 ㅠ

by 휴일이 2023. 1. 19.

 

 

Spring Security 를 구현하다가

얘가 정적 파일도 계속 필터링 하는 것을 발견했다 ㅡㅜ

한번에 필터가 겁내 여러개 돌았다..

 

 

 

@Override
public void configure(WebSecurity web) throws Exception {
    web.ignoring() // 정적파일들 필터 검사 ㄴㄴ
            .requestMatchers(PathRequest.toStaticResources().atCommonLocations());
}

 

이런 식으로 Path.Request.toStaticResources().atCommonLocation() 으로

스태틱 파일 경로를 enum(css, js 등 별게 다 있다)으로 해줬는데도

요런 일이 발생했다

 

참고로

요런 enum 들이 있다

 

 

근데 저렇게 설정해줘도,

직접 "/css/**" 이런 식으로 설정해줘도 경로를 못잡았는데...

 

전에 내가 resources에 정적 파일 경로들을 잡을때

/static/** 으로 잡아야만 css 파일 경로가 잡히던 게 생각났다

내 정적파일 경로는 이렇다

 

 

그래서 

 

@Override
public void configure(WebSecurity web) throws Exception {
    web.ignoring() // 정적파일들 필터 검사 ㄴㄴ
            .antMatchers("/static/**")
            }

 

이렇게 static 경로로 잡아주니

정적파일도 인증을 안 먹고

 

콘솔도 멀쩡하다

(원랜 계속 토큰 인증안됐다고 떴었음 ㅡㅡ)

 

 

참고로 내 경로임

resources 밑에 static이 있고

그 아래에 각 템플릿의 정적파일들이 담겨있는 폴더들이 있음

 

아 그리고

@Bean
public WebSecurityCustomizer webSecurityCustomizer() {
    return web -> {
        web.ignoring()
                .antMatchers("/static/**")
                .antMatchers("/user/**");
    };
}

요로케 빈으로 등록해도 잘 돌아감니다

 

configure 오버라이딩 하시거나 WebSecurityCustomizer를 빈으로 등록하거나

선택 가능!

 

 

 

-오늘의 교훈

사람마다 경로는 다르니까

티스토리만 검색하지 말고

내 프로젝트는 어케 돼있나 확인하자...

 

 

 

+

그리고

anyRequeest 를 permitAll을 해도 인증을 해야되는 불상사가 나타나고 있는데

이 사태를 어떻게 해결해야하는 건지 거참...

728x90