강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

레오나님의 프로필 이미지
레오나

작성한 질문수

스프링 시큐리티

5) DB 연동 인증 처리(2) : CustomAuthenticationProvider

CustomAuthenticationProvider관련해서 질문드립니다.

해결된 질문

작성

·

188

0

안녕하세요 강사님. 강의 잘 듣고있습니다.

 

CustomAuthenticationProvider 클래스에서 

이렇게 하셨는데

이렇게 하지 않은 이유는

인증객체가 User보다 Account객체가 더 의미 있어서 그런가요?

그리고 Account객체의  변수가 username, password 뿐만아니라 email, phonNumber등 다양할 때 ContextHolder에서 나중에 꺼내올때 사용하기 편하기 위해서 그런건가요?

 

답변 1

2

정수원님의 프로필 이미지
정수원
지식공유자

User 는 스프링 시큐리티에서 UserDetails 타입을 구현한 기본 구현체로서 제공하는 것입니다.

즉 우리가 UserDetails 타입으로 구현하지 않고 사용할 수 있도록 제공하는 클래스입니다.

그래서 User 를 사용하셔도 무방합니다.

다만 위에서 언급하신 것처럼 User 클래스에 없는 필드들을 추가해서 사용해야 할 경우  Account 와 같은 별도의 클래스를 만들어서 사용하는 경우가 일반적입니다.

잘 이해하고 계신 것 같습니다.

레오나님의 프로필 이미지
레오나

작성한 질문수

질문하기