특정 페이지가 로그인 없이 접근 가능해야 할 때 Spring Security 설정을 바꿔주면 된다.
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
public void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/rest/api/**").permitAll()
.anyRequest().authenticated(); // 나머지는 인증 필요
}
}
.antMatchers("/rest/api/**").permitAll() 는 /rest/api/로 시작하는 모든 URL은 인증 절차없이 허용된다는 것을 의미한다.
반대로 hasAnyRole()을 사용하면 특정 권한을 가진 사용자에게만 접근을 허용한다는 것을 의미한다.
.antMatchers("/rest/admin/**").permitAll("ADMIN");