diff --git a/spring-security-modules/spring-security-web-digest-auth/pom.xml b/spring-security-modules/spring-security-web-digest-auth/pom.xml
index 4a20f007d5..259a4e4730 100644
--- a/spring-security-modules/spring-security-web-digest-auth/pom.xml
+++ b/spring-security-modules/spring-security-web-digest-auth/pom.xml
@@ -10,9 +10,9 @@
com.baeldung
- parent-spring-5
+ parent-spring-6
0.0.1-SNAPSHOT
- ../../parent-spring-5
+ ../../parent-spring-6
@@ -86,16 +86,15 @@
- javax.servlet
- javax.servlet-api
- ${javax.servlet-api.version}
+ jakarta.servlet
+ jakarta.servlet-api
+ ${jakarta.servlet-api.version}
provided
- javax.servlet
- jstl
- ${jstl.version}
- runtime
+ jakarta.servlet.jsp.jstl
+ jakarta.servlet.jsp.jstl-api
+ ${jakarta.jstl-api.version}
@@ -104,9 +103,9 @@
${guava.version}
- org.apache.httpcomponents
- httpcore
- ${httpcore.version}
+ org.apache.httpcomponents.core5
+ httpcore5
+ ${httpcore5.version}
commons-logging
@@ -115,9 +114,9 @@
- org.apache.httpcomponents
- httpclient
- ${httpclient.version}
+ org.apache.httpcomponents.client5
+ httpclient5
+ ${httpclient5.version}
commons-logging
@@ -172,10 +171,12 @@
- 4.2.6.RELEASE
+ 6.1.5
- 4.4.5
- 4.5.2
+ 5.2.4
+ 5.3
+ 6.1.0-M1
+ 3.0.0
1.6.1
diff --git a/spring-security-modules/spring-security-web-digest-auth/src/main/java/com/baeldung/basic/MyBasicAuthenticationEntryPoint.java b/spring-security-modules/spring-security-web-digest-auth/src/main/java/com/baeldung/basic/MyBasicAuthenticationEntryPoint.java
index 1b9ffc3db8..487794cc7f 100644
--- a/spring-security-modules/spring-security-web-digest-auth/src/main/java/com/baeldung/basic/MyBasicAuthenticationEntryPoint.java
+++ b/spring-security-modules/spring-security-web-digest-auth/src/main/java/com/baeldung/basic/MyBasicAuthenticationEntryPoint.java
@@ -3,9 +3,8 @@ package com.baeldung.basic;
import java.io.IOException;
import java.io.PrintWriter;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import org.springframework.security.core.AuthenticationException;
import org.springframework.security.web.authentication.www.BasicAuthenticationEntryPoint;
@@ -15,7 +14,7 @@ import org.springframework.stereotype.Component;
public class MyBasicAuthenticationEntryPoint extends BasicAuthenticationEntryPoint {
@Override
- public void commence(final HttpServletRequest request, final HttpServletResponse response, final AuthenticationException authException) throws IOException, ServletException {
+ public void commence(final HttpServletRequest request, final HttpServletResponse response, final AuthenticationException authException) throws IOException {
response.addHeader("WWW-Authenticate", "Basic realm=\"" + getRealmName() + "\"");
response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
final PrintWriter writer = response.getWriter();
@@ -23,7 +22,7 @@ public class MyBasicAuthenticationEntryPoint extends BasicAuthenticationEntryPoi
}
@Override
- public void afterPropertiesSet() throws Exception {
+ public void afterPropertiesSet() {
setRealmName("Baeldung");
super.afterPropertiesSet();
}
diff --git a/spring-security-modules/spring-security-web-digest-auth/src/main/java/com/baeldung/client/HttpComponentsClientHttpRequestFactoryDigestAuth.java b/spring-security-modules/spring-security-web-digest-auth/src/main/java/com/baeldung/client/HttpComponentsClientHttpRequestFactoryDigestAuth.java
index 67c2d6031f..bfbd3e84e5 100644
--- a/spring-security-modules/spring-security-web-digest-auth/src/main/java/com/baeldung/client/HttpComponentsClientHttpRequestFactoryDigestAuth.java
+++ b/spring-security-modules/spring-security-web-digest-auth/src/main/java/com/baeldung/client/HttpComponentsClientHttpRequestFactoryDigestAuth.java
@@ -1,13 +1,14 @@
package com.baeldung.client;
-import org.apache.http.HttpHost;
-import org.apache.http.client.AuthCache;
-import org.apache.http.client.HttpClient;
-import org.apache.http.client.protocol.HttpClientContext;
-import org.apache.http.impl.auth.DigestScheme;
-import org.apache.http.impl.client.BasicAuthCache;
-import org.apache.http.protocol.BasicHttpContext;
-import org.apache.http.protocol.HttpContext;
+import org.apache.hc.client5.http.auth.AuthCache;
+import org.apache.hc.client5.http.auth.UsernamePasswordCredentials;
+import org.apache.hc.client5.http.classic.HttpClient;
+import org.apache.hc.client5.http.impl.auth.BasicAuthCache;
+import org.apache.hc.client5.http.impl.auth.DigestScheme;
+import org.apache.hc.client5.http.protocol.HttpClientContext;
+import org.apache.hc.core5.http.HttpHost;
+import org.apache.hc.core5.http.protocol.BasicHttpContext;
+import org.apache.hc.core5.http.protocol.HttpContext;
import org.springframework.http.HttpMethod;
import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
@@ -21,8 +22,6 @@ public class HttpComponentsClientHttpRequestFactoryDigestAuth extends HttpCompon
this.host = host;
}
- //
-
@Override
protected HttpContext createHttpContext(final HttpMethod httpMethod, final URI uri) {
return createHttpContext();
@@ -34,7 +33,8 @@ public class HttpComponentsClientHttpRequestFactoryDigestAuth extends HttpCompon
// Generate DIGEST scheme object, initialize it and add it to the local auth cache
final DigestScheme digestAuth = new DigestScheme();
// If we already know the realm name
- digestAuth.overrideParamter("realm", "Custom Realm Name");
+ digestAuth.initPreemptive(new UsernamePasswordCredentials("user1", "user1Pass".toCharArray()),
+ "", "Custom Realm Name");
// digestAuth.overrideParamter("nonce", "MTM3NTU2OTU4MDAwNzoyYWI5YTQ5MTlhNzc5N2UxMGM5M2Y5M2ViOTc4ZmVhNg==");
authCache.put(host, digestAuth);
diff --git a/spring-security-modules/spring-security-web-digest-auth/src/main/java/com/baeldung/spring/ClientConfig.java b/spring-security-modules/spring-security-web-digest-auth/src/main/java/com/baeldung/spring/ClientConfig.java
index b7145daaea..9c38a6e81e 100644
--- a/spring-security-modules/spring-security-web-digest-auth/src/main/java/com/baeldung/spring/ClientConfig.java
+++ b/spring-security-modules/spring-security-web-digest-auth/src/main/java/com/baeldung/spring/ClientConfig.java
@@ -1,18 +1,19 @@
package com.baeldung.spring;
-import org.apache.http.HttpHost;
-import org.apache.http.auth.AuthScope;
-import org.apache.http.auth.UsernamePasswordCredentials;
-import org.apache.http.client.CredentialsProvider;
-import org.apache.http.impl.client.BasicCredentialsProvider;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.impl.client.HttpClientBuilder;
-import com.baeldung.client.HttpComponentsClientHttpRequestFactoryDigestAuth;
+import org.apache.hc.client5.http.auth.AuthScope;
+import org.apache.hc.client5.http.auth.CredentialsProvider;
+import org.apache.hc.client5.http.auth.UsernamePasswordCredentials;
+import org.apache.hc.client5.http.impl.auth.BasicCredentialsProvider;
+import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
+import org.apache.hc.client5.http.impl.classic.HttpClientBuilder;
+import org.apache.hc.core5.http.HttpHost;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
import org.springframework.web.client.RestTemplate;
+import com.baeldung.client.HttpComponentsClientHttpRequestFactoryDigestAuth;
+
@Configuration
public class ClientConfig {
private static final String DEFAULT_USER = "user1";
@@ -24,7 +25,7 @@ public class ClientConfig {
@Bean
public RestTemplate restTemplate() {
- HttpHost host = new HttpHost("localhost", 8080, "http");
+ HttpHost host = new HttpHost("http", "localhost", 8080);
CloseableHttpClient client = HttpClientBuilder.create().
setDefaultCredentialsProvider(provider()).useSystemProperties().build();
HttpComponentsClientHttpRequestFactory requestFactory =
@@ -34,10 +35,11 @@ public class ClientConfig {
}
private CredentialsProvider provider() {
- CredentialsProvider provider = new BasicCredentialsProvider();
- UsernamePasswordCredentials credentials =
- new UsernamePasswordCredentials("user1", "user1Pass");
- provider.setCredentials(AuthScope.ANY, credentials);
+ BasicCredentialsProvider provider = new BasicCredentialsProvider();
+ UsernamePasswordCredentials credentials = new UsernamePasswordCredentials(DEFAULT_USER, DEFAULT_PASS.toCharArray());
+ //defining null and -1 it applies to any host and any port
+ final AuthScope authScope = new AuthScope(null, -1);
+ provider.setCredentials(authScope, credentials);
return provider;
}
diff --git a/spring-security-modules/spring-security-web-digest-auth/src/main/java/com/baeldung/spring/MvcConfig.java b/spring-security-modules/spring-security-web-digest-auth/src/main/java/com/baeldung/spring/MvcConfig.java
index 0d9962cda0..e67bc212d6 100644
--- a/spring-security-modules/spring-security-web-digest-auth/src/main/java/com/baeldung/spring/MvcConfig.java
+++ b/spring-security-modules/spring-security-web-digest-auth/src/main/java/com/baeldung/spring/MvcConfig.java
@@ -5,13 +5,13 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
import org.springframework.web.servlet.view.JstlView;
@Configuration
@EnableWebMvc
-public class MvcConfig extends WebMvcConfigurerAdapter {
+public class MvcConfig implements WebMvcConfigurer {
public MvcConfig() {
super();
@@ -21,8 +21,6 @@ public class MvcConfig extends WebMvcConfigurerAdapter {
@Override
public void addViewControllers(final ViewControllerRegistry registry) {
- super.addViewControllers(registry);
-
registry.addViewController("/homepage.html");
}
diff --git a/spring-security-modules/spring-security-web-digest-auth/src/main/resources/webSecurityConfig.xml b/spring-security-modules/spring-security-web-digest-auth/src/main/resources/webSecurityConfig.xml
index c259901cb9..cf8d474b46 100644
--- a/spring-security-modules/spring-security-web-digest-auth/src/main/resources/webSecurityConfig.xml
+++ b/spring-security-modules/spring-security-web-digest-auth/src/main/resources/webSecurityConfig.xml
@@ -1,9 +1,11 @@
-
+
diff --git a/spring-security-modules/spring-security-web-digest-auth/src/test/java/com/baeldung/client/RawClientLiveTest.java b/spring-security-modules/spring-security-web-digest-auth/src/test/java/com/baeldung/client/RawClientLiveTest.java
index de6dca3ec4..177d052497 100644
--- a/spring-security-modules/spring-security-web-digest-auth/src/test/java/com/baeldung/client/RawClientLiveTest.java
+++ b/spring-security-modules/spring-security-web-digest-auth/src/test/java/com/baeldung/client/RawClientLiveTest.java
@@ -2,11 +2,12 @@ package com.baeldung.client;
import java.io.IOException;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.impl.client.HttpClientBuilder;
import com.baeldung.spring.ClientConfig;
+
+import org.apache.hc.client5.http.classic.methods.HttpGet;
+import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
+import org.apache.hc.client5.http.impl.classic.HttpClientBuilder;
+import org.apache.hc.core5.http.HttpResponse;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
@@ -24,7 +25,7 @@ public class RawClientLiveTest {
CloseableHttpClient httpClient = HttpClientBuilder.create().build();
HttpGet getMethod = new HttpGet("http://localhost:8082/spring-security-rest-basic-auth/api/bars/1");
HttpResponse response = httpClient.execute(getMethod);
- System.out.println("HTTP Status of response: " + response.getStatusLine().getStatusCode());
+ System.out.println("HTTP Status of response: " + response.getCode());
}
}