일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 플러터 개발
- 스프링 공부
- nestjs공부
- K8S
- 프로그래머스
- 카프카
- JPA예제
- 스프링부트공부
- 자바공부
- 코테공부
- nestjs스터디
- 스프링부트
- Axon framework
- 자료구조공부
- JPA공부
- 코테준비
- querydsl
- 기술공부
- JPA
- JPA 공부
- 스프링
- 플러터 공부
- JPA스터디
- 기술면접공부
- Kafka
- 알고리즘공부
- Flutter
- DDD
- nestjs
- 스프링공부
- Today
- Total
DevBoi
[Spring_Security] 스프링 시큐리티의 이해 본문
스프링 시큐리티는 각각의 역할에 맞는 작업을 처리하는 여러개의 필터들이 체인형태로 구성되어, 순서에 따라 순차적으로 수행된다.
스프링 시큐리티의 특징 및 장점
-보안과 관련하여 체계 적으로 많은 옵션을 제공하여 편리하게 사용할 수 있다.
-Filter 기반으로 동작하여, MVC와 분리하여 동작이 가능하다.
-어노테이션을 통한 간단한 설정이 가능하다.
-스프링 시큐리티는 기본적으로 쿠키 + 세션으로 동작한다.
스프링 시큐리티의 기본 필터 종류이다.
-SecurityContextPersistenceFilter : SecurityContextRepository에서, 해당 SecurityContext를 저장하고 로드하는 역할을 한다.
-LogoutFilter : Logout 으로 지정된 가상의 url 이 있어, 해당 url 요청시에 사용자를 로그아웃 시킨다.
-UsernamePasswordAuthenticationFilter :사용자 명과 비밀번호로 이루어진 폼 기반의 url 이 있고, 이 요청을 감시하여, 해당 Url 요청시에 사용자에 대한 인증을 진행한다.
-DefaultLoginPageGeneratingFIlter : 폼 or openId기반의 인증에 사용하는 url을 감시하여 해당 Url에 따른 폼 기반 url html을 생성한다.
-BasicAuthenticationFilter : Http 기본 인증 헤더를 가지고 이를 처리한다.
-RequestCacheAwareFilter : 로그인 성공 이후에, 기존에 가로챘던 사용자의 요청 url 에 대한 context다시 로드한다.
-AnonymoutAuthenticationFilter : 사용자에 대한 인증이 아직 되지 않았으면, 익명 사용자로 해당 사용자를 처리한다.
-SessionManagementSession : 인증된 사용자의 세션을 트래킹할수 있도록 도와준다.
-ExceptionTranslationFilter : 이 필터는 보호된 요청을 처리하는 동안 기대된 예외와 라우팅을 처리한다.
-FilterSecurityInterceptor : 이 필터는 접근 결정관리자라고도 하고, 권한 부여와 관련된 것을 accessDecisionManager에게 부여해, 권한 부여 및 접근 권한을 쉽게 처리할수 있도록 해준다.
일단 스프링 시큐리티는 필터 체인 방식으로 동작한다는 점과
각 필터별로 하는 일들을 간단하게 공부해봤다.
다음에는 하나씩 구현하면서 깊게 파보면서 포스팅을 이어나가보자
'Develop > [Spring_Security]' 카테고리의 다른 글
[Spring security] Authorization path 오류해결 (0) | 2023.10.28 |
---|