네이버 클라우드 캠프

시큐리티_UserDetailServiceImpl

99duuk 2024. 6. 3. 12:21

 

UserDetailServiceImpl 클래스는

인자로 받은 사용자 이름(username)을 기반으로

데이터베이스에서 일치하는 정보를 찾고,

 

있으면 User 객체를 반환하며,

없으면 예외를 던지는 클래스입니다.

 

반환된 UserDetails 객체는 Spring Security에서 인증 및 권한 부여에 사용된다.

 

 

 

 

 

1. loadUserByUsername 메서드는 username을 인자로 받아 처리한다.

2. userRepository를 사용하여 데이터베이스에서 해당 username과 일치하는 사용자 정보를 찾는다.

3. 사용자가 존재하면 User 객체를 반환한다.

4. 사용자가 존재하지 않으면 UsernameNotFoundException 예외를 던진다.

 

 

이 클래스에서 주목할 점은 다음과 같습니다:

 

UserRepository 인터페이스는 JpaRepository를 확장하여 데이터베이스와 상호작용합니다.

findByUsername 메서드는 데이터베이스에서 username으로 사용자를 찾는 역할을 합니다.

사용자가 존재하지 않을 경우 UsernameNotFoundException 예외를 던집니다.

사용자가 존재할 경우, org.springframework.security.core.userdetails.User 객체로 변환하여 반환합니다.

 

 

User 객체는 데이터베이스의 사용자 정보를 담고 있으며,

UserDetails 객체는 Spring Security에서 사용자 인증과 권한 부여를 위해 사용하는 객체이다.

'네이버 클라우드 캠프' 카테고리의 다른 글

API Gateway  (0) 2024.06.07
CSRF & 세션 관리  (0) 2024.06.04
Spring Data REST  (0) 2024.06.03
JWT  (0) 2024.06.01
claim  (0) 2024.06.01