31 lines
1.1 KiB
Java
31 lines
1.1 KiB
Java
package com.baeldung.basic;
|
|
|
|
import java.io.IOException;
|
|
import java.io.PrintWriter;
|
|
|
|
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 {
|
|
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() {
|
|
setRealmName("Baeldung");
|
|
super.afterPropertiesSet();
|
|
}
|
|
|
|
}
|