
책의 내용을 기반으로 내용을 다시 정리하고 추가해서 공부하고 있음.
스프링 시큐리티는 인증과 인가를 중심으로 하는 보안 기능
결론적으로 쉽게 말하면 인증은 로그인으로 검증 인가는 로그인 후 권한 부여

스프링 시큐리티 공식사이트
스프링 시큐리티는 다양한 인증 수단을 지원
인가는 애플리케이션의 보안을 강화하기 위해 요청 수준에서부터 데이터 노출에 이르기까지, 인가는 여러 단계에서 이루어집니다.
주요 단계:
요청에 대한 접근 통제
/admin/update)에 대한 접근 권한을 검증합니다. 비즈니스 로직에 대한 접근 제한
update()와 같은 로직)이 권한 있는 사용자만 실행되도록 제한합니다. 클라이언트에게 표시되는 데이터 제어
서블릿 필터의 기능을 이용해 다양한 처리를 끼워 넣는다. 스프링 MVC 내부에서는 DispatcherServlet이라는 서블릿이 작동하고 있는데, 그 곳에 오기 전에 시큐리티의 필터에서 처리된다.
| 그림 1. Filter Chain | 그림2. SecurityFilterChain |
|---|---|
출처 :https://docs.spring.io/spring-security/reference/servlet/architecture.html ![]() | ![]() |
| 브라우저요청에서 컨트롤단까지 시퀀스 흐름도 |
|---|
![]() |
인증(Authentication):
UsernamePasswordAuthenticationFilter와 같은 필터가 로그인 정보(예: ID/비밀번호)를 검증합니다.예외 처리(Exception Handling):
인가(Authorization):
FilterSecurityInterceptor가 인가 작업을 수행합니다.Spring Security의 필터 체인 흐름은 인증 → 인가 → 예외 처리 순서로 동작합니다. 이 순서는 보안의 기본 원칙을 따르며, 인증 없이 권한을 확인하거나 예외를 처리하는 것은 불가능
다음 글은 시큐리티 필터 체인 설정부터 공부 할 예정입니다.