diff --git a/spring-security-basic-auth/src/main/java/org/baeldung/security/basic/MyBasicAuthenticationEntryPoint.java b/spring-security-basic-auth/src/main/java/org/baeldung/security/basic/MyBasicAuthenticationEntryPoint.java new file mode 100644 index 0000000000..968237227f --- /dev/null +++ b/spring-security-basic-auth/src/main/java/org/baeldung/security/basic/MyBasicAuthenticationEntryPoint.java @@ -0,0 +1,31 @@ +package org.baeldung.security.basic; + +import java.io.IOException; +import java.io.PrintWriter; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.springframework.security.core.AuthenticationException; +import org.springframework.security.web.authentication.www.BasicAuthenticationEntryPoint; +import org.springframework.stereotype.Component; + +@Component +public class MyBasicAuthenticationEntryPoint extends BasicAuthenticationEntryPoint { + + @Override + public void commence(final HttpServletRequest request, final HttpServletResponse response, final AuthenticationException authException) throws IOException, ServletException { + response.addHeader("WWW-Authenticate", "Basic realm=\"" + getRealmName() + "\""); + response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); + final PrintWriter writer = response.getWriter(); + writer.println("HTTP Status " + HttpServletResponse.SC_UNAUTHORIZED + " - " + authException.getMessage()); + } + + @Override + public void afterPropertiesSet() throws Exception { + setRealmName("Baeldung"); + super.afterPropertiesSet(); + } + +} diff --git a/spring-security-basic-auth/src/main/java/org/baeldung/spring/config/SecSecurityConfig.java b/spring-security-basic-auth/src/main/java/org/baeldung/spring/config/SecSecurityConfig.java index a8b4962672..8d5dfb0409 100644 --- a/spring-security-basic-auth/src/main/java/org/baeldung/spring/config/SecSecurityConfig.java +++ b/spring-security-basic-auth/src/main/java/org/baeldung/spring/config/SecSecurityConfig.java @@ -1,10 +1,12 @@ package org.baeldung.spring.config; +import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.ImportResource; @Configuration @ImportResource({ "classpath:webSecurityConfig.xml" }) +@ComponentScan("org.baeldung.security") public class SecSecurityConfig { public SecSecurityConfig() { diff --git a/spring-security-basic-auth/src/main/resources/webSecurityConfig.xml b/spring-security-basic-auth/src/main/resources/webSecurityConfig.xml index 5ddca97786..7734ea5f56 100644 --- a/spring-security-basic-auth/src/main/resources/webSecurityConfig.xml +++ b/spring-security-basic-auth/src/main/resources/webSecurityConfig.xml @@ -1,28 +1,27 @@ - - + - - + + + + - + - + - - - - - - - - - - - + + + + + + + \ No newline at end of file