Spring Security
- 필터를 사용!
- 사용자 커스텀을 위해서는 필터를 재정의해서 사용
구현할 것
- 모든 요청은 인증되어야 한다.
- 인증이 안된 상태라면 기본값으로 로그인 페이지를 출력한다.
- CSRF -> PUT, POST
@Configuration
- 여러개의 빈을 정의하기 위해서 사용하는 어노테이션
SpringSecurityConfiguration
- ssb/src/main/java/com.chan.ssb/security에 SpringSecurityConfiguration.java를 생성했다.
- SpringSecurityConfiguration.java
package com.chan.ssb.security;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.web.SecurityFilterChain;
import static org.springframework.security.config.Customizer.withDefaults;
@Configuration
public class SpringSecurityConfiguration {
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
http.authorizeHttpRequests(
auth -> auth.anyRequest().authenticated()
);
http.httpBasic(withDefaults());
http.csrf().disable();
return http.build();
}
}
- SecurityFilterChain: Spring Security는 FilterChain을 사용하여 요청을 처리한다.
- http.authorizeHttpRequests(): 요청에 대한 권한 부여를 설정
- http.httpBasic(): 기본 인증을 설정
- http.csrf().disable(): CSRF 보호를 비활성화