Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package ca.qhrtech.security; import ca.qhrtech.entities.BGLUser; import ca.qhrtech.repositories.interfaces.UserRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; import org.springframework.security.config.annotation.authentication.configurers.GlobalAuthenticationConfigurerAdapter; import org.springframework.security.core.authority.AuthorityUtils; import org.springframework.security.core.userdetails.User; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; /** * * @author bryan */ @Configuration public class BGLAuthenticationConfiguration extends GlobalAuthenticationConfigurerAdapter { @Autowired private UserRepository userRepository; @Override public void init(AuthenticationManagerBuilder auth) throws Exception { auth.userDetailsService(userDetailsService()).passwordEncoder(new BCryptPasswordEncoder()); } private UserDetailsService userDetailsService() { return (String username) -> { BGLUser user = userRepository.findByUsername(username); if (user != null) { return new User(user.getUsername(), user.getPassword(), true, true, true, true, AuthorityUtils.createAuthorityList("USER")); } else { throw new UsernameNotFoundException("Could not find the user: " + username); } }; } }