Spring Security Architecture - SecurityContextHolder
SecurityContext
SecurityContextHolder

- 세션에는 SecurityContext가 있고 SecurityContext는 SecurityContextHolder하위에 있다.
- SecurityContextHolder는 ThreadLocal(각각의 스레드별로 별도의 저장 공간을 제공하는 컨테이너)을 사용하여 인증 전반에 걸쳐 인증 객체를 전달한다.
- 따라서 multiThread 등에서는 사용하기 어려운 부분도 있기 때문에 예외처리시 주의해서 사용해줘야한다.
- 인증된 사용자의 구체적인 정보를 저장한다.
- strategy
- MODE_THREADLOCAL : 기본 설정
- MODE_INHERITABLETHREADLOCAL : 자식쓰레드와 메인 쓰레드간의 SecurityContext를 공유하여 사용하고 싶을 때.
- MODE_GLOBAL : 애플리케이션의 모든 Thread가 단 하나의 SecurityContext만을 공유하고 싶은 경우.
후기
필터부터 내용을 추가해야겠다.