diff --git a/geowebcache/core/src/main/java/org/geowebcache/layer/wms/WMSHttpHelper.java b/geowebcache/core/src/main/java/org/geowebcache/layer/wms/WMSHttpHelper.java index 782c9bad2..3c92a6681 100644 --- a/geowebcache/core/src/main/java/org/geowebcache/layer/wms/WMSHttpHelper.java +++ b/geowebcache/core/src/main/java/org/geowebcache/layer/wms/WMSHttpHelper.java @@ -30,11 +30,14 @@ import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; +import org.apache.http.auth.AuthenticationException; +import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.client.methods.HttpRequestBase; import org.apache.http.entity.StringEntity; +import org.apache.http.impl.auth.BasicScheme; import org.apache.http.message.BasicNameValuePair; import org.geotools.util.logging.Logging; import org.geowebcache.GeoWebCacheException; @@ -339,6 +342,16 @@ public HttpResponse executeRequest( method = new HttpGet(urlString); } + if (httpUsername != null) { + try { + UsernamePasswordCredentials creds = + new UsernamePasswordCredentials(httpUsername, httpPassword); + method.addHeader(new BasicScheme().authenticate(creds, method, null)); + } catch (AuthenticationException e) { + throw new AssertionError("BasicScheme threw: " + e.getMessage()); + } + } + // fire! if (log.isLoggable(Level.FINER)) { log.finer(method.toString());