Skip to Content
Suffering builds character
아카이브18.spring Security스프링 시큐리티5.부록인증 APIs8.UserDetailsManager 인터페이스

8.UserDetailsManager 인터페이스

UserDetailsService 인터페이스가 사용자 정보를 조회하는 역할만 담당했다면,

UserDetailsManagerUserDetailsService 인터페이스를 확장하여 새로운 사용자 정보를 추가하거나 업데이트, 제거 등을 수행할 수 있는 기능이 추가된 인터페이스

UserDetailsManager.java
public interface UserDetailsManager extends UserDetailsService { // Create a new user with the supplied details. void createUser(UserDetails user); // Update the specified user. void updateUser(UserDetails user); // Remove the user with the given login name from the system. void deleteUser(String username); // Modify the current user's password. void changePassword(String oldPassword, String newPassword); // Check if a user with the supplied login name exists in the system. boolean userExists(String username); }

UserDetailsManager를 구현한 대표적인 구현체는 아래의 두 가지가 있음

1-1. InMemoryUserDetailsManager

메모리 상에서 사용자 정보 저장 및 관리하는 역할 수행

1-2. JdbcUserDetailsManager

데이터베이스에 저장된 사용자 데이터를 기반으로 사용자 관리를 담당하는 역할 수행

Last updated on