티스토리 뷰
스프링 시큐리티는 Authentication(인증), Authorization(권한)을 처리해주는 프레임워크이다. http 커넥션이 요청-응답 한 벌이 작동한 후에는 끊기기 때문에, 상태를 저장하지 않아 사용자를 구분하는 방법이 필요한데, 스프링 시큐리티는 그 방법 중 하나이다.
스프링 시큐리티는 MVC 패턴 전에 서블릿의 필터를 기반으로 동작한다.
클라이언트가 요청 시, SpringSecurityFilterChain이 가장 먼저 실행되는 필터 클래스로, 스프링 시큐리티의 필터 클래스들을 필터 체인에 등록하여 사용하게 해준다.
컨테이너는 하나의 필터 체인을 생성하는데, 이 안에는 필터와 서블릿이 들어 있다. 이 필터 체인은 다음 필터나 서블릿에 전달되지 않게 걸러내게 해준다. 필터에 걸렸을 경우, 필터 내부에서 HttpServletResponse를 만들어 서블릿 대신에 클라이언트에 응답을 보낸다.
* DelegatingFilterProxy는 서블릿 필터의 구현체를 제공함으로써 스프링 시큐리티에서 필터의 생명주기를 통해 인증과 권한 작업을 수행하기 위해 서블릿 컨테이너가 스프링 컨테이너에 등록된 빈을 인식하게 해준다.
* 참고) https://limdevbasic.tistory.com/19
상태를 저장하여 사용자를 인증하는 방식으로는(stateful) 세션, 쿠키 방식이 있는데, 쿠키 방식은 해커로부터 탈취되기 쉽기 때문에 서버사이드에 정보를 저장하는 세션 방식을 고려해볼 수 있다.
* stateless 방식으로는 JWT, oauth 방식이 있다.

* 세션이 만료되었을 때는 Remember Me 인증을 사용할 수 있다.
* 참고) https://catsbi.oopy.io/c0a4f395-24b2-44e5-8eeb-275d19e2a536
'TIL' 카테고리의 다른 글
| [Spring] Exception 처리 (0) | 2022.06.02 |
|---|---|
| ORM (0) | 2022.06.02 |
| [WIL] 셋째주 회고 - IoC, Bean, DI (0) | 2022.05.29 |
| [Spring Boot] Controller: Response (0) | 2022.05.28 |
| [Spring Boot] @Autowired: DI의 세 가지 방법 (0) | 2022.05.28 |
- Total
- Today
- Yesterday
- 스프링부트
- ManyToOne
- 항해99
- 단항연산자
- jinja2
- IOC
- ManyToMany
- 패키지
- AfterEach
- AssertJ
- GIT
- toCharArray
- 임포트
- OneToMany
- ORM
- 고민
- 몽고db
- DI
- MVC
- ResetController
- 자바의정석
- 서버환경
- clean-up policy
- Java
- controller
- 제어자
- 배열
- 상속
- bean
- overfatching
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
| 31 |
