package etunicorn; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UsernameNotFoundException; import java.util.Collection; /** * Created by geoffrey on 29/01/17. */ public class CustomUserDetailsService implements UserDetailsService { private final PersonneRepository personneRepository; @Autowired public CustomUserDetailsService(PersonneRepository personneRepository) { this.personneRepository = personneRepository; } @Override public UserDetails loadByUsername(String login) throws UsernameNotFoundException { Personne personne = personneRepository.findByLogin(login); if (personne == null) { throw new UsernameNotFoundException(String.format("L'utilisateur %s n'existe pas !", login)); } return new PersonneRepositoryUserDetails(personne); } private final static class PersonneRepositoryUserDetails extends Personne implements UserDetails { public PersonneRepositoryUserDetails(Personne personne) { super(personne); } @Override public Collection getAuthorities() { // return getRoles(); return null; } @Override public String getPassword() { return "test"; } @Override public String getUsername() { return getLogin(); } @Override public boolean isAccountNonExpired() { return true; } @Override public boolean isAccountNonLocked() { return true; } @Override public boolean isCredentialsNonExpired() { return true; } @Override public boolean isEnabled() { return true; } } }