🔐 Spring Security의 정의
Spring Security는 "Spring 기반 애플리케이션의 인증(Authentication)과 인가(Authorization)"를 담당하는 강력하고 유연한 보안 프레임워크입니다.
- 로그인/로그아웃 처리, 권한별 접근 제어, 세션 관리, CSRF 보호 등 다양한 보안 기능 제공
- 보안 로직을 필터 체인 기반으로 처리하여 확장성과 유연성이 뛰어남
- 직접 로그인/회원가입 로직을 구현하지 않아도 기본 인증 처리 가능
- CSRF, 세션 고정, 브루트포스 방지 등 보안 기능 내장
- OAuth2 소셜 로그인, JWT 인증, 메일/전화 인증 등 확장 가능
🎯 왜 Spring Security를 사용하는가?
기존 방식 | Spring Security 사용 시 |
인증, 인가를 직접 구현해야 함 | 자동 인증 처리 (Form, Basic, OAuth 등) |
비밀번호 평문 저장 위험 | BCrypt 등의 암호화 전략 제공 |
접근 제어 로직이 분산됨 | 설정 파일로 URL 권한 제어 일괄 처리 |
보안 이슈 대응이 어려움 | 최신 보안 트렌드 반영, 커뮤니티 강력함 |
🧱 기본 구조 흐름
사용자가 HTTP 요청을 보내면 Spring Security가 먼저 요청을 가로채서 필터체인을 통해 인증/인가 여부를 판단합니다.
인증이 성공하면 실제 컨트롤러(비즈니스 로직)로 요청이 넘어갑니다.
📌 아래는 구조 다이어그램입니다:
※ 위 구조는 Thymeleaf + Spring Boot + JPA + Security로 구성된 예시입니다.
✅ 마무리
Spring Security는 복잡하고 다양한 보안 처리를 매우 강력하고 유연하게 제공하는 프레임워크입니다.
기본 개념과 동작 흐름을 이해했다면, 이제 실제 프로젝트에 어떻게 적용하는지를 살펴보겠습니다.
👉 다음 글에서는 "Spring Boot 프로젝트에 Spring Security를 설정하는 방법과 사용한 기술 스택" 에 대해 소개합니다.