Files
spring-boot-rest/spring-security-mvc-boot/spring-security-mvc-boot-default/src/main/java/com/baeldung/security/CustomUserDetailsService.java
Ger Roza 5aecdeb021 [BAEL-3066] Spring Security: Exploring JDBC Authentication (#7441)
* created multi-module project from spring-security-mvc-boot

* Added JDBC Authentication application to spring-security-mvc-boot-default

* Added JDBC Authentication application to spring-security-mvc-boot-mysql

* Added JDBC Authentication application to spring-security-mvc-boot-postgre

* adding new modules to parent spring-security-mvc-boot module, reformatting sql scripts, and added form fields to H2 LiveTest
2019-07-29 07:56:21 +02:00

41 lines
1.2 KiB
Java

package com.baeldung.security;
import javax.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired;
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.springframework.web.context.WebApplicationContext;
import com.baeldung.data.repositories.UserRepository;
import com.baeldung.models.AppUser;
@Service
public class CustomUserDetailsService implements UserDetailsService {
@Autowired
private WebApplicationContext applicationContext;
private UserRepository userRepository;
public CustomUserDetailsService() {
super();
}
@PostConstruct
public void completeSetup() {
userRepository = applicationContext.getBean(UserRepository.class);
}
@Override
public UserDetails loadUserByUsername(final String username) {
final AppUser appUser = userRepository.findByUsername(username);
if (appUser == null) {
throw new UsernameNotFoundException(username);
}
return new AppUserPrincipal(appUser);
}
}