inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 시큐리티 완전 정복 [6.x 개정판]

Rest 인증 상태 영속하기 - SecurityContextRepository 설정하기

SecurityContextRepository부분 질문 있습니다

179

kyb1208tg

작성한 질문수 21

0

강의자료 95 page에는 커스텀 한 인증 필터를 구현할 경우 securityContext.saveContext()를 명시적으로 작성해야 된다고 적혀있는데 해당 부분은 OncePerrequestFilter 를 통해 완전 처음부터 작성한 커스텀 필터일 경우이고 이번 강의에서는 AbstractAuthenticationProcessingFilter를 상속받고 그 내부에서 successfulAuthentication 을 통해서 saveContext() 가 작동한다고 이해했는데 맞을까요?

spring spring-boot spring-security security web-security

답변 2

0

정수원

AbstractAuthenticationProcessingFilter 에서 saveContext() 가 작동하지만 기본적으로는 세션이 아닌 요청객체에만 저장되기 때문에 인증상태를 계속 유지 할 수 없습니다.

그래서 세션에 저장할 수 있는 HttpSessionSecurityContextRepository 객체를 이용해야 한다는 게 핵심입니다.

구 버전에서는 HttpSessionSecurityContextRepository 객체를 자동적으로 사용했지만 최신버전에서는 명시적으로 사용하기 위해서 설정이 필요하다고 보시면 됩니다

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.
kyb1208tg님, 질문 주셔서 감사합니다.

네, 맞게 이해하셨습니다. AbstractAuthenticationProcessingFilter를 상속받은 경우에는 이미 successfulAuthentication 메서드가 구현되어 있어서, 인증이 성공하면 자동으로 SecurityContextRepository를 사용하여 SecurityContext를 저장합니다. 따라서, OncePerRequestFilter를 사용하여 처음부터 커스텀 필터를 작성하는 경우처럼 securityContext.saveContext()를 명시적으로 호출하지 않아도 됩니다.

이 때 successfulAuthentication은 인증이 성공했을 때 호출되며, 기본적으로 SecurityContext를 현재 HttpServletRequest의 속성에 저장하거나 SecurityContextRepository를 통해 저장하도록 되어 있습니다. 혹시 더 궁금한 점이 있으시면 추가적으로 질문해 주세요!

추가적으로 스프링 시큐리티에 대한 자세한 설명은 Spring Security 프로젝트 페이지를 참조하시면 도움이 될 것 같습니다.

감사합니다.

로그아웃-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