Olá!
Estou com problemas para autenticar o actuator via basic auth e continuar acessando as APIs via JWT, o actuator é autenticado entretanto os demais endpoints retornam 500, segui o código sugerido na dúvida:
https://cursos.alura.com.br/forum/topico-sprint-boot-admin-com-a-regra-de-seguranca-86290
Código de autenticação do Actuator:
@Configuration
@Order(1)
public class ActuatorSecurityConfigurations extends WebSecurityConfigurerAdapter {
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.inMemoryAuthentication()
.withUser("actuator").password(passwordEncoder().encode("actuator123"))
.authorities("ROLE_ADMIN");
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/actuator/**").hasRole("ADMIN")
.and().csrf().disable().httpBasic();
}
@Bean
public PasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder();
}
}
O código abaixo ao invés de retornar o usuário do JWT está retornando um o value: "anonymousUser"
SecurityContextHolder.getContext().getAuthentication().getPrincipal()