Estou recebendo este erro quando tento logar na aplicacao:
Cannot invoke “org.springframework.security.core.userdetails.UserDetails.getAuthorities()” because “user” is null
Erro spring security
V
2 Respostas
Você tem uma variável user que não foi inicializada ![]()
No spring security vc precisa criar uma classe que implemente UserDetailsService, além de de implementar o método loadUserByUsername(String username), que deverá retornar um UserDetails.
A ideia é que através do username recebido como parâmetro vc busque o usuário no seu banco de dados e crie um org.springframework.security.core.userdetails.User, configurando o username e password.
Mais ou menos isso:
@Service
public class UsuarioService implements UserDetailsService {
@Autowired
private UsuarioRepository userRepository;
@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
Usuario 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<>()
);
}
}
Criado 3 de julho de 2024
Ultima resposta 8 de ago. de 2024
Respostas 2
Participantes 3
Alura Sistemas operacionais: entenda seu conceito e suas funções Descubra o que são sistemas operacionais, suas funções e tipos. Aprenda tudo de forma clara e objetiva. Não perca tempo!
Casa do Codigo Orientacao a Objetos: Aprenda seus conceitos e suas... Por Thiago Leite e Carvalho — Casa do Codigo