package org.berzerkula.builddb.services; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.userdetails.User; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.stereotype.Service; import org.berzerkula.builddb.models.AppUser; import org.berzerkula.builddb.repositories.AppUserRepository; @Service public class AppUserService implements UserDetailsService { @Autowired private AppUserRepository repo; @Override public UserDetails loadUserByUsername(String email) throws UsernameNotFoundException { AppUser appUser = repo.findByEmail(email); if (appUser != null) { return User.withUsername(appUser.getEmail()) .password(appUser.getPassword()) .roles(appUser.getRole()) .build(); } return null; } }