클라이언트마다 별도의 쓰레드 할당 질문입니다.
169
작성한 질문수 17
클라이언트마다 별도의 쓰레드가 할당되고 각 쓰레드별로 쓰레드로컬을 가지고있어 여기에 인증객체를 가진 SecurityContext가 저장된다고 설명해주셨습니다. 근데 제가 알기로 같은 사용자더라도 서버에 요청할때마다 다른 쓰레드가 할당되는걸로 아는데 아닌가요? 맞다면 같은 사용자이더라도 요청할때마다 별도의 쓰레드가 할당되므로, 이전 요청에서 로그인인증을 통해 저장했던 SecurityContext는 사용하지 못하는거 아닌가요?
답변 2
0
네 맞습니다
그래서 인증 성공 이후 세션에 SecurityContext 를 저장해 놓는 것입니다.
이후 요청 시 세션으로부터 SecurityContext 를 꺼내어 ThreadLocal 에 저장하고 진행하게 됩니다.
이렇게 되면 계속 인증상태를 유지할 수 있게 됩니다.
0
안녕하세요, 인프런 AI 인턴입니다. 에욱님.
쓰레드와 SecurityContext에 대한 질문을 주셨군요. 에욱님의 질문과 유사한 주제를 다룬 몇 가지 게시물을 찾아보았습니다. 맥락을 이해하는 데 도움이 되시길 바랍니다.
-
- 쓰레드가 요청마다 새로 할당되더라도, SecurityContext는
HttpSession에서 관리되므로 클라이언트가 재접속할 때 세션에 저장된 정보를 통해 인증 상태를 유지할 수 있습니다.
- 쓰레드가 요청마다 새로 할당되더라도, SecurityContext는
SecurityContext와 ThreadLocal 사용에 대한 설명
- 매 요청마다 쓰레드는 재사용되며, SecurityContext 정보는 세션을 통해 유지됩니다. 이를 통해 같은 사용자의 연속된 요청에서도 인증 상태가 유지됩니다.
- 매 요청마다 쓰레드는 재사용되며, SecurityContext 정보는 세션을 통해 유지됩니다. 이를 통해 같은 사용자의 연속된 요청에서도 인증 상태가 유지됩니다.
-
SecurityContextHolder는 각 사용자마다 스레드가 별도로 할당되며, 요청마다 새로운 쓰레드에서 세션 내용을 가져오도록 설계되어 있습니다. 이로 인해 여전히 인증 상태가 유지됩니다.
이 게시물들은 쓰레드의 생명 주기와 SecurityContext 보존에 대해 추가적인 통찰을 제공합니다. 여전히 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
로그아웃-logout()-2 강에서 겟방식 로그아웃 호출 후 화면이동 질문입니다.
0
35
2
단원별 소스코드
0
64
2
CustomAuthenticationProvider 추가 관련 문의
0
77
2
AOP 의존성 명칭 변경
0
76
1
빈 1개 등록 시 다른 해결 방법
0
70
1
@Bean으로 AuthenticationProvider를 등록 시 http.authenticationProvider 함수를 이용해서 추가해줘야되나요?
0
87
2
OIDC의 id token에 담긴 데이터에 대해
0
78
1
loginPage("/loginPage") 질문드립니다.
0
69
1
@EnableWebSecurity
0
148
1
트랜잭션과 롤백
0
99
1
68. 인증 이벤트 - AuthenticationEventPublisher 활용 강좌 음성 문제
0
91
2
AuthenticationManager 사용 방법
0
153
2
HttpSecurity.authorizeHttpRequests() - 2 강의 부분에 대한 질문
0
108
2
spring security 6.3에서는 HttpSecurity가 만들어지기 전 WebSecurity가 먼저 만들어지는게 맞나요??
0
192
1
init(B Builder), configure(B builder) 에 대하여 질문 드립니다.
0
109
2
메타 주석 질문
0
69
1
동시세션제어 기능에서 로그아웃하기
0
150
3
로그인 후, redirect 에서 error
0
140
3
Session 생성 타이밍에 대한 질문
0
86
2
강의 참고 내용을 개발 로그로 작성해도 될지 문의드립니다.
0
135
2
customAuthentication 관련
0
132
2
authenticationManagerBuilder 주입받은거 vs 만든 거
0
114
1
UserDetailsService()에서 UserDetail이 아닌 타입을 반환할 수 있나요?
0
101
1
9:28 패턴 3의 경우 마지막으로 설정한 것만 적용되는 것 같습니다.
0
162
2





