Spring Security - Error configuration
19/07/2017 00:23
1
Olá pessoal, estou tentando implementar uma autenticação com o Spring Security, porém estou recebendo esse erro como retorno:

Field userDetailsService in com.zieg.petcare.config.SecurityConfig required a bean of type 'org.springframework.security.core.userdetails.UserDetailsService' that could not be found.
Action:
Consider defining a bean of type 'org.springframework.security.core.userdetails.UserDetailsService' in your configuration.


Estou utilizando  dois model,
usuario
e
roles
, um service que implementa
UserDetailService
, por fim a class de config que extends 
WebSecurityConfigurerAdapter


Alguma dica de como resolver este problema?

Segue o link do meu gist com os codigos utilizados. 
Tags: Java, Spring, Security


0
Codigos no gist?  <---- Referente ao Post
19/07/2017 01:02


1
O problema, ao que tudo indica, está na classe de configuração SecurityConfig, na qual você injeta um UserDetailsService: não foi configurado qual a implementação que deveria ser adotada.
Como foi feita a configuração deste projeto? Foi pelo Spring Boot?


0
Sim sim, foi configurado via Spring Boot
20/07/2017 17:13


1
Então pelo que pude ver, basta você tirar este UserDetailsService. Ele não está sendo usado na aplicação e você não forneceu uma implementação (se não me engano)


0
Kiko, fiz algumas alterações no codigo, porem o erro persiste. Segue a atualização do meu gist.

Meu stacktrace é referente a essa parte do codigo:

?@Autowired private UserService userDetailsService;

@Autowired
protected void configureGlobal(AuthenticationManagerBuilder auth) throws Exception{
auth.userDetailsService(userDetailsService)
.passwordEncoder(passwordEnconder());

}

@Bean
public BCryptPasswordEncoder passwordEnconder(){
BCryptPasswordEncoder bCryptPasswordEncoder = new BCryptPasswordEncoder();
return bCryptPasswordEncoder;
?}

Lembrando que implementei a interface UserDetailService, e UserDetail, defini os metodos necessários, porem esta faltando algum detalhe.
Segue meus gist abaixo para melhor analise da situação, desde já agredeço pelo retorno, Obrigado.
[CODIGO FONTE]?

O erro apresentado é:

Field userDetailsService in com.zieg.petcare.config.SecurityConfig required a bean of type 'com.zieg.petcare.services.UserService' that could not be found.
Action:
Consider defining a bean of type 'com.zieg.petcare.services.UserService' in your configuration.
21/07/2017 22:58


1
Bom, há dois caminhos aqui.

1) Você implementou seu próprio UserDetailService e UserService, mas esqueceu de colocar a anotação @Component nele (ou similares)

2) Você declarou uma dependência destes tipos no seu código e não existe uma implementação que tenha sido encontrada pelo Spring no momento de inicialização da sua aplicação.


0
Bom, obrigado pelas sugestões, eu consegui resolver, era um import nas minha dependências que estavam errados, eu estava usando outro pacote para utilizar a notação @Service na minha classe que implementava o UserDetailsService, acabei importando outro sem perceber,  o import correto era do pacote springframework.stereotype.service; depois disso o problema foi resolvido. ^^
16/08/2017 15:56



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails, Spring e mais com a Formação itexto!

Livro de Spring


/dev/All

Os melhores blogs de TI
em um único lugar!

 
Spring Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.