Je veux juste sécuriser uniquement les points de terminaison de l'actionneur qui doivent utiliser le processus d'authentification de base par ID utilisateur/mot de passe. Et mon changement ne devrait pas avoir d'impact sur les autres API existantes. Donc, pour cela, j'ai ajouté spring-boot-starter-security à mon projet. Mais avec le code ci-dessous, je ne suis pas en mesure de sécuriser uniquement mes points de terminaison d'actionneur. Cela a plutôt un impact sur mes API existantes. Puis-je avoir une aide s'il vous plait.
public class SecureActuatorEndpoint extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.requestMatcher(EndpointRequest.toAnyEndpoint())
.authorizeRequests((requests) -> requests.anyRequest()
.permitAll()).httpBasic();
}
}
Solution du problème
Je suis capable d'atteindre en utilisant ci-dessous.
"/api_tobe_excluded",
};
http.csrf().disable().authorizeRequests()
.antMatchers(AUTH_WHITELIST).permitAll();
http.authorizeRequests().requestMatchers(EndpointRequest.to(HealthEndpoint.class))
.authenticated()
.and().httpBasic();
Aucun commentaire:
Enregistrer un commentaire