Files
ContabilidadSaPolar/backend/src/main/java/com/sapolar/auth/AuthUserDetailsService.java
T

34 lines
1.2 KiB
Java

package com.sapolar.auth;
import com.sapolar.user.User;
import com.sapolar.user.UserRepository;
import lombok.RequiredArgsConstructor;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
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.List;
@Service
@RequiredArgsConstructor
public class AuthUserDetailsService implements UserDetailsService {
private final UserRepository userRepository;
@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
User user = userRepository.findByUsername(username)
.orElseThrow(() -> new UsernameNotFoundException("Usuario no encontrado: " + username));
return new org.springframework.security.core.userdetails.User(
user.getUsername(),
user.getPasswordHash(),
user.getActive(),
true, true, true,
List.of(new SimpleGrantedAuthority("ROLE_" + user.getRole().getName()))
);
}
}