728x90
반응형
Spring security의 기본정책은 URL에 더블 슬래시가 들어가는 것을 허용하지 않습니다.
예를 들어 https://moonsiri.tistory.com/category와 같은 URL을 사용할 때, URL 더블 슬래시 처리가 안되어있는 상태에서 https://moonsiri.tistory.com//category로 요청이 들어오면 에러가 발생합니다.
org.springframework.security.web.firewall.RequestRejectedException: The request was rejected because the URL was not normalized.
at org.springframework.security.web.firewall.StrictHttpFirewall.getFirewalledRequest(StrictHttpFirewall.java:296)
만약 더블 슬래시를 허용하고 싶다면 아래와 같이 HttpFirewall Bean을 등록해주면 됩니다.
@Bean
public HttpFirewall defaultHttpFirewall() {
return new DefaultHttpFirewall();
}
+)
SpringBoot 2.6 버전부터는 URL 패턴 매칭 기본전략이 AntPathMatcher에서 PathPatternPaser로 변경되어 더블 슬래시를 제거하지 않고 URL 패턴 매칭을 하기 때문에 URL 매칭에 실패할 수 있습니다. 자세한 내용은 아래 포스팅을 참고해주세요.
[Reference]
728x90
반응형
'spring > spring security' 카테고리의 다른 글
[Spring Security5] 권한 계층구조(roleHierarchy) 설정 (0) | 2021.08.13 |
---|---|
[Spring Security] redis 세션에서 SecurityContext 수정 (0) | 2021.07.12 |
[Spring] Chrome 양식 다시 제출 확인 ERR_CACHE_MISS 해결방법 (0) | 2020.10.31 |
[Spring Security5] SecurityFilterChain, Filter 이중 호출 해결 (Filter disabled) (0) | 2020.10.31 |
[Spring Security5] Multiple HttpSecurity, Multiple Login, accessDenied 설정 (0) | 2020.10.31 |
댓글