Piira RestTemplate'i puhverserveri mandaate HttpClient 5-ga
Piira Apache HttpClient 5 mandaated puhverserveri hosti ja pordiga enne, kui annad transporti Spring 6 RestTemplate'ile.
Puhverserverisse sisselogimine kuulub transporti mandaadipakkuja juurde. Spring 6 ja Apache HttpClient 5 puhul piira see konto vahendajaga:
var proxy = new org.apache.hc.core5.http.HttpHost(
"http", "proxy.example", 8080);
var credentials = new org.apache.hc.client5.http.impl.auth
.BasicCredentialsProvider();
credentials.setCredentials(
new org.apache.hc.client5.http.auth.AuthScope(proxy),
new org.apache.hc.client5.http.auth.UsernamePasswordCredentials(
proxyUser, proxyPassword.toCharArray()));
var http = org.apache.hc.client5.http.impl.classic.HttpClients.custom()
.setProxy(proxy)
.setDefaultCredentialsProvider(credentials)
.build();
var factory = new org.springframework.http.client
.HttpComponentsClientHttpRequestFactory(http);
var rest = new org.springframework.web.client.RestTemplate(factory);Rakendus annab väärtused proxyUser ja proxyPassword ning omab HTTP-kliendi elutsüklit. Kasuta töökoormuse jaoks uuesti resti, selle asemel et kutsungikohas luua veel üks vaikimisi mall.
AuthScope piirab, kus need mandaadid kehtivad. Näide annab tavalised kasutajanime/parooli mandaadid; nimi BasicCredentialsProvider ei sunni iga väljakutset kasutama HTTP Basic skeemi.
HTTPS-sihtkoha korral saab transport vastata puhverserveri väljakutsele CONNECTi ajal, enne kui rakenduse krüpteeritud HTTP-päring on olemas. Üldine sihtkoha interceptor, mis lisab Proxy-Authorization, ei ole selle läbirääkimisega samaväärne.
Konfigureeri iga sihtkoha konto eraldi. Kui puhverserver siiski päringu tagasi lükkab, säilita selle teatatud autentimisskeem ning tegelik host ja port. Muule lõpp-punktile piiratud mandaat ei klapi lihtsalt seetõttu, et parool on õige.