티스토리 뷰

Spring Security의 기본적인 정책은 URL에 더블슬래시가 들어가는 것을 허용하지 않는다.

예를 들면, test라는 리소스를 요청할 때 > http://localhost:8080/api/test  라는 URL을 사용한다고 해보자.

WEB 소스에서 baseURL 을 잘못설정 뭐 그러한 이유로 http://localhost:8080/api//test 로 요청이 들어오면

서버에서는 아래와 같은 에러가 발생한다.

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:248)

 

이를 위해서는 Spring Security Config 파일에 아래와 같은 내용을 넣는다.

더블슬래시를 허용해주는 놈을 Bean으로 등록한 후 WebSecurity 설정에 추가해준다.

1
2
3
4
5
6
7
8
9
@Override
public void configure(WebSecurity web) throws Exception {
    web.httpFirewall(defaultHttpFirewall());
}
 
@Bean
public HttpFirewall defaultHttpFirewall() {
    return new DefaultHttpFirewall();
}
 

오늘도 하나 배움

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함