[스프링시큐리티] 2. 스프링 시큐리티 기본 API 및 Filter 이해 - 사용자 정의 보안 기능 구현

Jimin·2023년 6월 30일

스프링 시큐리티

목록 보기
3/7
post-thumbnail

  • WebSecurityConfigurerAdapter는 스프링 시큐리티의 보안 기능 초기화 및 설정을 하고 HttpSecurity 클래스를 생성함
  • HttpSecurity 클래스는 세부적인 보안 기능을 설정할 수 있는 API를 제공함
    • 인증 API
    • 인가 API
  • WebSecurityConfigureAdapter 클래스와 HttpSecurity 클래스는 의존성을 추가했을 경우 시스템에 기본적인 웹 보안 기능을 활성화하고 제공해줌
@Configuration
public class SecurityConfig {

    @Bean
    public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
        http
                .authorizeHttpRequests((authz) -> authz
                        .anyRequest().authenticated()
                )
                .httpBasic(withDefaults());

        http
                .formLogin();

        return http.build();
    }

}
  • WebSecurityConfigureAdapter 클래스가 Deprecated 되었다고 함
  • SecurityFilterChain을 Bean으로 등록해 해결함
  • 인가 정책
    • authorizeHttpRequests() 메소드를 호출하면 요청에 대한 보안 검사가 시작됨
    • 어떤 요청에도 (anyRequest()) 인증을 받도록 (authenticated()) 설정함
  • 인증 정책
    • formLogin() 방식을 통해 인증을 받도록 설정함
  • 인증: 사용자의 신원을 검증하는 프로세스를 뜻합니다. 가장 간단한 예시로는 ID와 PW를 통해 로그인하는 행위
  • 인가: 인증 이후의 프로세스로 인증된 사용자가 어떠한 자원에 접근할 수 있는지를 확인하는 절차

  • application.yml 환경변수 설정

  • 설정한 비밀번호로 로그인 가능!


참고 자료: 개발자가 될 사람!

0개의 댓글