필터
- 말 그대로 들어오는 HTTP 요청을 필터링하여 서블릿에 전달한다.
- 클라이언트와 DispatcherServlet 사이에 필터가 존재함
- 필터는 여러 개 존재 가능하며 이를 연결한 것이 필터 체인이다.
- 필터 체인에서 필터는 다운스트림 형식으로 적용되기 때문에 필터의 위치 순서가 매우 중요함.
시큐리티에서 필터
- 스프링 시큐리티에서는 "DelegatingFilterProxy"를 상속받은 "FilterChainProxy"라는 필터를 만들어 사용
- 이는 일반적인 서블릿 컨테이너는 스프링 컨테이너(ApplicationContext)의 빈을 사용할 수 없기 때문에
스프링 컨테이너와 서블릿 컨테이너를 연결하는 역할
- "FilterChainProxy"를 통해 "Security Filter"를 만들고, SecurityFilterChain이라는 이름의 그룹으로 묶어 사용함.
- 시큐리티 필터 체인이라는 이름의 그룹은 여러 개 존재 가능하며, 그 안의 Security Filter 또한 아예 없거나
여러개 존재 가능
- 시큐리티 필터 체인은 가장 먼저 조건에 맞는 필터 체인을 호출하는 특징이 있다.
- 이를 활용해서 특정 주소의 요청에 맞는 특정 필터 체인을 적용하도록 할 수 있다.
CI / CD
- CI 는 지속적 통합 / CD는 지속적 배포
- [CI] - 새로운 코드 변경점이 정기적으로 빌드 및 테스트되어 공유 레포지토리에 통합되는 것
-[CD] - CI가 소스의 빌드, 테스트, 통합 까지였다면 CD는 실제 서비스 환경까지 릴리즈 하는 것
- 즉 Ci/Cd는 코드 작성 부분을 제외한 배포까지의 모든 과정을 자동화하는 것
차이: 배포전 까지 과정 vs 배포 과정
===
내 경험
- Travis로 CI를 이용하여 AWS S3에 빌드 파일 업로드, CodeDeploy를 통해 EC2 환경에 자동으로 배포
- Github Action을 CI로 활용 경험
'codestates_BE_bootcamp39 > 주단위 일기' 카테고리의 다른 글
3 SEPT pre-project Week2 (0) | 2022.09.03 |
---|---|
26 AUG pre-project Week1 (0) | 2022.08.28 |
12 August - Week16 (0) | 2022.08.12 |
5 August - Week15 (0) | 2022.08.05 |
30 July - Week14 (0) | 2022.07.30 |