[SPRING] 스프링 보안의 SecurityContextHolder : 세션 또는 요청 바운드?
SPRING스프링 보안의 SecurityContextHolder : 세션 또는 요청 바운드?
SecurityContextHolder에서 검색 한 Userprincipal이 요청 또는 세션에 바인딩되어 있습니까?
UserPrincipal principal = (UserPrincipal) SecurityContextHolder.getContext (). getAuthentication (). getPrincipal ();
이것은 현재 로그인 한 사용자에게 액세스하는 방법입니다. 현재 세션이 파괴되면 무효화됩니까?
해결법
-
==============================
1.그것은 당신이 그것을 어떻게 구성 했느냐에 달려 있습니다 (또는 다른 행동을 구성 할 수 있습니다).
그것은 당신이 그것을 어떻게 구성 했느냐에 달려 있습니다 (또는 다른 행동을 구성 할 수 있습니다).
웹 응용 프로그램에서는 SecurityContextPersistenceFilter와 상호 작용하는 ThreadLocalSecurityContextHolderStrategy를 사용합니다.
SecurityContextPersistenceFilter의 Java 문서는 다음으로 시작합니다.
Btw : HttpSessionSecurityContextRepository는 SecurityContextRepository의 유일한 구현입니다 (기본 라이브러리에서 찾았습니다).
그것은 다음과 같이 작동합니다 :
요약하면 : 사용자 보안 주체 (SecurityContext 요소)는 HTTP 세션에 저장됩니다. 그리고 각 요청에 대해 액세스 할 수있는 로컬 스레드에 배치됩니다.
from https://stackoverflow.com/questions/6408007/spring-securitys-securitycontextholder-session-or-request-bound by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] CacheProvider의 예외 NoClassDefFoundError (0) | 2018.12.07 |
---|---|
[SPRING] 스프링 부트 - 초기 데이터로드 (0) | 2018.12.06 |
[SPRING] Ajax를 사용하여 @RequestBody의 여러 변수를 Spring MVC 컨트롤러에 전달 (0) | 2018.12.06 |
[SPRING] JSON에서 RestTemplate을 통한 POST 요청 (0) | 2018.12.06 |
[SPRING] 부모 컨텍스트에서 자식 컨텍스트와 스프링 컨텍스트 선언 (0) | 2018.12.06 |