Spring Security also provides default interfaces and implementations to support the management of users. You can create/delete/update users, and manage passwords using the UserDetailsManager interface. Details of the interface are as follows:
public interface UserDetailsManager extends UserDetailsService {
void createUser(UserDetails user);
void updateUser(UserDetails user);
void deleteUser(String username);
void changePassword(String oldPassword, String newPassword);
boolean userExists(String username);
}
InMemoryUserDetailsManager and JdbcUserDetailsManager are a couple of default implementations of UserDetailsManager:
- InMemoryUserDetailsManager is typically used for testing purposes. It stores user details in-memory.
- JdbcUserDetailsManager provides a Java Database Connectivity (JDBC) implementation.