스프링 시큐리티에 대한 기본 원리를 학습하고자 인프런 정수원 강사님의 스프링 시큐리티 강의를 수강하기로 결정했다.
강의에서 다루는 내용은 다음과 같다.
- 1) 스프링 시큐리티의 보안 설정 API와 이와 연계된 각 Filter 들에 대해서 학습한다.
- 각 API의 개념과 기본적인 사용법, API 처리 과정, API 동작 방식 등 학습
- 기본적으로 스프링 시큐리티는, 우리가 보안 시스템을 구축할 때, 아주 많은 API들을 제공한다. (인증과 관련된 API, 인가와 관련된 API 등 각각의 유형별로 여러 API를 제공한다. 따라서 그러한 API 들의 사용 방법, 개념, 동작 방식 등에 대해서 알아보자.)
- API 설정 시 생성 및 초기화 되어 사용자의 요청을 처리하는 Filter 학습
- 2) 스프링 시큐리티 내부 아키텍처와 그 아키텍처를 구성하고 있는 각 객체의 역할 및 처리 과정을 학습한다.
- (스프링 시큐리티의 인증과 인가 처리를 위한) 초기화 과정, 인증 과정, 인가 과정 등을 아키텍처적인 관점에서 학습
- 3) 실전 프로젝트
- DB 연동 인증
- Form 방식 인증처리
- Ajax 방식 인증처리
- DB 연동 인가
- url 방식 인가처리 ( 필터 기반으로 동작 )
- 메소드 방식 인가처리 ( AOP 기반으로 동작 )
개발환경과 선수지식은 다음과 같다.
- 개발환경
- JDK 1.8 이상
- DB - Postgres
- IDE - IntelliJ
- 선수지식
- Spring Boot
- Spring MVC
- Spring Data JPA
- Thymeleaf
- Postgres
- Lombok
API, 필터, 아키텍처, 실전 프로젝트 순으로 하나씩 알아보자.
✔️ 참고
- 해당 강의는
security 5.7.x
이하 버전을 기준으로 한다.
- 참고로
security 6.*
부터는 인증과 인가에 변화된 부분이 많다고 한다. 따라서 프로젝트의 버전에 따라 추가적인 학습이 필요하다.
강의를 듣고 정리한 글입니다. 코드와 그림 등의 출처는 정수원 강사님께 있습니다.