프로젝트를 진행하다 가능하면 완벽한 RESTful 한 API는 아니라도 HTTP API 정도는 따라하고 싶어 API 작명을 "GET, POST, PUT, DELETE /content" 같은 방법으로 작성하였다.
그랬더니, url로 filter를 거는 security에 걸려 로그인 하지않으면 접근할 수 없는 상태가 되었다. 이에 GET요청은 로그인하지 않고 접근 할 수 있는 방법을 찾다 아래와 같은 방법을 알 게 되었다.
@Override
protected void configure(HttpSecurity http) throws Exception {
http
···
.and()
.authorizeRequests()
.antMatchers("/signin", "/signup", "/").permitAll()
.antMatchers("/images/**, /js/**").permitAll()
.antMatchers(HttpMethod.GET, "/board/**").permitAll() <- 여기
.anyRequest().hasRole("USER")
.and()
···
}
위처럼 SecurityConfig 설정 파일에 .antMatchers로 허용할 HttpMethod와 경로를 지정 해두고 .permitAll()
로 설정해주면 위 로그인의 허용한 Method의 요청은 Security가 허용해준다.