접근 권한 설정하기
Default
- 기본적으로 스프링 부트를 설정하면 모든 접근 권한이 로그인을 필요로 한다.
- SecurityFilterChain을 구현한다.
- authorizeHttpRequests을 이용해서 요청을 처리함
- SpringSecurityConfiguration.java에 모든 파일을 작성한다.
모든 접근 허용하기
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
http.authorizeHttpRequests(requests -> requests.anyRequest().permitAll())
.formLogin(Customizer.withDefaults())
.httpBasic(Customizer.withDefaults());
return http.build();
}
모든 접근 거부하기
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
http.authorizeHttpRequests(requests -> requests.anyRequest().denyAll())
.formLogin(Customizer.withDefaults())
.httpBasic(Customizer.withDefaults());
return http.build();
}
URL마다 접근 설정하기
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
http.authorizeHttpRequests((requests) -> requests
.requestMatchers("/api/players").authenticated()
.requestMatchers("/api/v1/team").permitAll())
.formLogin(Customizer.withDefaults())
.httpBasic(Customizer.withDefaults());
http.csrf().disable();
return http.build();
}
- requestMatchers를 사용하여 URL별로 접근을 설정할 수 있다.
- .authenticated()의 경우 인증을 필요로 한다.
- .permitAll()의 경우 접근을 허용한다.
