
Spring Security와 ThreadLocal
·
Java
도입Spirng Security는 기본적으로 ThreadLocal을 사용한다. ThreadLocal이 무엇인지, 왜 사용하는지 좀 더 자세히 알아보고자 한다.ThreadLocal이란?각 스레드마다 독립적인 변수 공간을 제공하는 Java 클래스이다.HTTP 요청당 하나의 스레드가 할당되어 요청 처리 동안 인증 정보를 유지할 수 있다.따라서 같은 스레드 내에서만 SecurityContext에 접근 가능하다.Spring Security Context가 ThreadLocal 기반인 이유웹 애플리케이션의 멀티스레드 환경 특성과 보안 요구사항 때문!스레드별 컨텍스트 분리각 HTTP 요청은 별도의 스레드에 의해 처리된다. SecurityContext는 각 요청의 인증정보를 담고 있기 때문에 각 스레드별로 다른 정보를..