Spring Security

🔒 Spring Security란?

정의

Spring Security는 Spring 기반 애플리케이션의 인증과 인가를 담당하는 보안 프레임워크다.

🧩 주요 특징

  • 인증과 인가 기능을 통합 지원한다.
  • 다양한 인증 방식과 연동할 수 있다.
  • Role 기반 권한 설정이 가능하다.
  • CSRF, CORS 방어 기능을 제공한다.

🛠️ 핵심 구성

  • SecurityContextHolder
  • SecurityContext
  • Authentication
  • AuthenticationProvider
  • AuthenticationManager
  • UserDetails

🧪 기본 사용 예시

implementation 'org.springframework.boot:spring-boot-starter-security'
@Configuration
@EnableWebSecurity
public class SecurityConfig {

    @Bean
    public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
        return http
            .authorizeHttpRequests(auth -> auth
                .requestMatchers("/admin/**").hasRole("ADMIN")
                .requestMatchers("/user/**").authenticated()
                .anyRequest().permitAll()
            )
            .formLogin(withDefaults())
            .build();
    }
}

🧭 세션 기반 인증

참고

Spring Security는 세션에 인증 정보를 저장해 다음 요청에서도 인증 상태를 유지할 수 있다.

연결문서

댓글남기기