package com.rods.backtestingstrategies.security; import com.rods.backtestingstrategies.entity.User; import com.rods.backtestingstrategies.repository.UserRepository; import lombok.RequiredArgsConstructor; 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 java.util.ArrayList; @Service @RequiredArgsConstructor public class CustomUserDetailsService implements UserDetailsService { private final UserRepository userRepository; @Override public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { User user = userRepository.findByUsername(username) .orElseThrow(() -> new UsernameNotFoundException("User not found with username: " + username)); return new org.springframework.security.core.userdetails.User( user.getUsername(), user.getPassword(), new ArrayList<>() // Authorities/Roles can be added here ); } }