From ac9ca412c8ea974a83015cc4dff19fe43fa51c58 Mon Sep 17 00:00:00 2001 From: Denis Kostin Date: Tue, 8 May 2018 15:03:28 +0300 Subject: [PATCH] Add Basic Authorization for UrlResource See gh-1822 --- .../main/java/org/springframework/core/io/UrlResource.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/spring-core/src/main/java/org/springframework/core/io/UrlResource.java b/spring-core/src/main/java/org/springframework/core/io/UrlResource.java index a317ac93fc1..a8d66978c8c 100644 --- a/spring-core/src/main/java/org/springframework/core/io/UrlResource.java +++ b/spring-core/src/main/java/org/springframework/core/io/UrlResource.java @@ -31,6 +31,7 @@ import java.nio.charset.StandardCharsets; import org.springframework.lang.Nullable; import org.springframework.util.Assert; +import org.springframework.util.Base64Utils; import org.springframework.util.ResourceUtils; import org.springframework.util.StringUtils; @@ -41,6 +42,7 @@ import org.springframework.util.StringUtils; * * @author Juergen Hoeller * @author Sam Brannen + * @author Denis Kostin * @since 28.12.2003 * @see java.net.URL */ @@ -225,6 +227,11 @@ public class UrlResource extends AbstractFileResolvingResource { public InputStream getInputStream() throws IOException { URLConnection con = this.url.openConnection(); customizeConnection(con); + + if (this.url.getUserInfo() != null) { + String basicAuth = "Basic " + Base64Utils.encodeToString(url.getUserInfo().getBytes()); + con.setRequestProperty("Authorization", basicAuth); + } try { return con.getInputStream(); }