From f0001c5c8d8a33729b93d8d6e10d3af40bfabed6 Mon Sep 17 00:00:00 2001 From: Kamal Wickramanayake Date: Sat, 13 Jun 2026 21:03:31 +0530 Subject: Added sample application 09-spring-security-db-authentication --- .../user/service/CustomUserDetailsService.java | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 spring-boot/09-spring-security-db-authentication/src/main/java/com/example/spring/user/service/CustomUserDetailsService.java (limited to 'spring-boot/09-spring-security-db-authentication/src/main/java/com/example/spring/user/service') diff --git a/spring-boot/09-spring-security-db-authentication/src/main/java/com/example/spring/user/service/CustomUserDetailsService.java b/spring-boot/09-spring-security-db-authentication/src/main/java/com/example/spring/user/service/CustomUserDetailsService.java new file mode 100644 index 0000000..c61649e --- /dev/null +++ b/spring-boot/09-spring-security-db-authentication/src/main/java/com/example/spring/user/service/CustomUserDetailsService.java @@ -0,0 +1,25 @@ +package com.example.spring.user.service; + +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 com.example.spring.user.repository.UserRepository; + +@Service +public class CustomUserDetailsService implements UserDetailsService { + + private final UserRepository userRepository; + + public CustomUserDetailsService(UserRepository userRepository) { + this.userRepository = userRepository; + } + + @Override + public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { + return userRepository.findByUsername(username) + .orElseThrow(() -> new UsernameNotFoundException("User not found")); + } + +} \ No newline at end of file -- cgit v1.2.3