Ao chamar a classe do spring AuthenticationManager no controller, e adicionar a anotação @Autowired o spring não reconhece e aparece esse erro:
"Could not autowire. No beans of 'AuthenticationManager' type found".
Ao chamar a classe do spring AuthenticationManager no controller, e adicionar a anotação @Autowired o spring não reconhece e aparece esse erro:
"Could not autowire. No beans of 'AuthenticationManager' type found".
Olá, Vinícius!
O erro que você está recebendo indica que o Spring não está conseguindo encontrar um bean do tipo AuthenticationManager
para injetar.
Uma possível solução para este problema é você criar explicitamente esse bean em uma classe de configuração. Aqui está um exemplo de como você pode fazer isso:
@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Bean
@Override
public AuthenticationManager authenticationManagerBean() throws Exception {
return super.authenticationManagerBean();
}
// outras configurações de segurança
}
Neste exemplo, estendemos a classe WebSecurityConfigurerAdapter
e sobrescrevemos o método authenticationManagerBean()
. O método @Bean
acima do método faz com que o Spring reconheça que este método está fornecendo um bean que pode ser injetado em outros lugares do seu aplicativo.
Depois de fazer isso, você deve ser capaz de usar @Autowired
para injetar AuthenticationManager
em seu controller.
Espero ter ajudado e bons estudos!