● 인터셉터
인터셉터란?
- Controller 호출 이전과 이후에 추가적인 기능을 할 수 있는 구조를 제공
- 기능상 aop아 유사, 구조상 filter와 유사
필터 vs 인터셉터
- 필터는 웹 어플리케이션내에서 동작하므로, context 접근이 어렵다.
- 인터셉터는 스프링 context내에 존재하므로 context내 객체를 사용가능하다.
Aop vs 인터셉터
- Aop는 메서드 기준으로 메서드까지 매개변수로 받는다
- 인터셉터는 필터에서 받던 http 서블릿 리퀘스트 즉 컨트롤러 url을 받는다
● 스프링 Security 개요
스프링 시큐리티 란?
- 애플리케이션 보안 기능을 구현할 때 사용하는 프레임워크
- 기본 보안 기능 : 인증(접근하는 사용자 특정), 인가(특정한 사용자 접근 제한)
- 강화된 보안 기능 : 세션 관리, CRSF, 브라우저 보안기능 연계
스프링 시큐리티 특징
- 인증, 인가 구현을 위한 다양한 필터 클래스 제공
- xml 파일에서 데이터 베이스 리소스로부터 인증, 인가 정보 취득 가능
- 다양한 인증 방식 지원
- 메서드 호출에 대한 접근 제어에 AOP 사용 가능
● 스프링 Security 구조
사용 모듈
- spring-security-core : 인증 인가 기능을 구현하기 위한 핵심적인 컴포넌트
- spring-security-web : 웹 애플리케이션 보안 기능을 구현하기 위한 컴포넌트
- spring-security-config : 각 모듈에서 제공하는 컴포넌트 설정 지원
- spring-security-taglibs : 인증 및 인가 정보를 사용하기 위한 jsp 태그 라이브러리
- spring-security-acl : acl사용해 도메인 객체 인스턴스 보호
스프링 시큐리티 아키텍처

스프링 시큐리티 주요 컴포넌트
- FilterChainProxy : 프레임워크의 진입점 역할을 하는 서블릿 필터 클래스
- HttpFirewall : 방화벽 기능을 추가하기 위한 인터페이스
- SecurityFilterChain : 보안 필터 목록을 관리하기 위한 인터페이스
- Security Filter : 보안 기능을 제공하는 서블릿 필터 클래스
● 스프링 인증 처리
스프링 인증처리 구조

스프링 시큐리티 인증 필터
- 인증 필터는 인증 처리 방식에 대한 구현을 제공하는 서블릿 필터
- 종류 : 폼 인증용 필터, basic 인증, digest 인증
인증 처리 위한 인터페이스
- AuthenticationManager : 인증 처리를 수행하기 위한 인터페이스 (실제 인증은 atp에게 위임, 반환값 처리만)
- AuthenticationProvider : 인증 처리 기능을 구현하기 위한 인터페이스
'Spring' 카테고리의 다른 글
| [스프링] 스프링빈이 없다면? (0) | 2023.12.04 |
|---|---|
| [프로젝트] dto, mapper 개념 (0) | 2023.10.27 |
| [스프링] 트랜잭션 (0) | 2023.08.04 |
| [스프링] AOP (0) | 2023.08.02 |
| [스프링] MyBatis (0) | 2023.08.01 |