Boa noite,
Estou com um erro quando tento fazer o Login.
meu UsuarioDao:
@Repository
public class UsuarioDao implements UserDetailsService {
@PersistenceContext
private EntityManager manager;
public Usuario AddUsuario(Usuario usuario){
manager.persist(usuario);
return usuario;
}
@Override
public UserDetails loadUserByUsername(String email) throws UsernameNotFoundException {
List<Usuario> usuarios = manager.createQuery("select u from Usuario where u.email = :email", Usuario.class)
.setParameter("email", email).getResultList();
System.out.println("teste");
if (usuarios.isEmpty()) {
throw new UsernameNotFoundException("O usuário " + email + " não foi encontrado");
}
return usuarios.get(0);
}
metodo de cadastro de Usuario:
@RequestMapping(value = "/addUsuario", method = RequestMethod.POST)
public ModelAndView adicionaUsuario(Usuario usuario, Endereco endereco){
BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
String senhaEncode = encoder.encode(usuario.getSenha());
usuario.setSenha(senhaEncode);
usuario.setRoles("ROLE_USUARIO");
Usuario usuarioCadastrado = UsuaDao.AddUsuario(usuario);
endereco.setUsuario(usuarioCadastrado);
endDao.addEndereco(endereco);
ModelAndView modelAndView = new ModelAndView("/");
return modelAndView;
}
SecurityConfiguration:
@EnableWebMvcSecurity
public class SecurityConfiguration extends WebSecurityConfigurerAdapter{
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/").permitAll()
.antMatchers("/addUsuario").permitAll()
.antMatchers("/buscaEndereco").permitAll()
.antMatchers("/login").permitAll()
.anyRequest().authenticated().
and().formLogin();
}
@Override
public void configure(WebSecurity web) throws Exception {
web.ignoring().antMatchers("/resources/**");
}
}
E estou usando o formulário padrão do Spring, mas parece que o método para verificar o Usuário não esta sendo chamado.
obrigado.