diff --git a/spring-security-login/src/main/java/org/baeldung/spring/security/CustomLogoutSuccessHandler.java b/spring-security-login/src/main/java/org/baeldung/spring/security/CustomLogoutSuccessHandler.java new file mode 100644 index 0000000000..4d19744033 --- /dev/null +++ b/spring-security-login/src/main/java/org/baeldung/spring/security/CustomLogoutSuccessHandler.java @@ -0,0 +1,29 @@ +package org.baeldung.spring.security; + +import java.io.IOException; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.springframework.security.core.Authentication; +import org.springframework.security.web.authentication.logout.LogoutSuccessHandler; +import org.springframework.security.web.authentication.logout.SimpleUrlLogoutSuccessHandler; + +public class CustomLogoutSuccessHandler extends SimpleUrlLogoutSuccessHandler implements LogoutSuccessHandler { + + public CustomLogoutSuccessHandler() { + super(); + } + + // API + + @Override + public void onLogoutSuccess(final HttpServletRequest request, final HttpServletResponse response, final Authentication authentication) throws IOException, ServletException { + final String refererUrl = request.getHeader("Referer"); + System.out.println(refererUrl); + + super.onLogoutSuccess(request, response, authentication); + } + +} diff --git a/spring-security-login/src/main/java/org/baeldung/spring/web/config/ClientWebConfig.java b/spring-security-login/src/main/java/org/baeldung/spring/web/config/ClientWebConfig.java index 4aadc3a48c..316759b24b 100644 --- a/spring-security-login/src/main/java/org/baeldung/spring/web/config/ClientWebConfig.java +++ b/spring-security-login/src/main/java/org/baeldung/spring/web/config/ClientWebConfig.java @@ -13,28 +13,30 @@ import org.springframework.web.servlet.view.JstlView; @Configuration public class ClientWebConfig extends WebMvcConfigurerAdapter { - public ClientWebConfig() { - super(); - } + public ClientWebConfig() { + super(); + } - // API + // API - @Override - public void addViewControllers(final ViewControllerRegistry registry) { - super.addViewControllers(registry); + @Override + public void addViewControllers(final ViewControllerRegistry registry) { + super.addViewControllers(registry); - registry.addViewController("/login.html"); - registry.addViewController("/homepage.html"); - } + registry.addViewController("/anonymous.html"); - @Bean - public ViewResolver viewResolver() { - final InternalResourceViewResolver bean = new InternalResourceViewResolver(); + registry.addViewController("/login.html"); + registry.addViewController("/homepage.html"); + } - bean.setViewClass(JstlView.class); - bean.setPrefix("/WEB-INF/view/"); - bean.setSuffix(".jsp"); + @Bean + public ViewResolver viewResolver() { + final InternalResourceViewResolver bean = new InternalResourceViewResolver(); - return bean; - } + bean.setViewClass(JstlView.class); + bean.setPrefix("/WEB-INF/view/"); + bean.setSuffix(".jsp"); + + return bean; + } } \ No newline at end of file diff --git a/spring-security-login/src/main/resources/webSecurityConfig.xml b/spring-security-login/src/main/resources/webSecurityConfig.xml index 7fcee298b5..e2b63fe458 100644 --- a/spring-security-login/src/main/resources/webSecurityConfig.xml +++ b/spring-security-login/src/main/resources/webSecurityConfig.xml @@ -5,9 +5,14 @@ http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.1.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd"> - - - + + + + + + + + - - + + + + diff --git a/spring-security-login/src/main/webapp/WEB-INF/view/anonymous.jsp b/spring-security-login/src/main/webapp/WEB-INF/view/anonymous.jsp new file mode 100644 index 0000000000..d4e9c0289b --- /dev/null +++ b/spring-security-login/src/main/webapp/WEB-INF/view/anonymous.jsp @@ -0,0 +1,10 @@ +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> + + + + +

Anonymous page

+ + ">To Login + + \ No newline at end of file diff --git a/spring-security-login/src/main/webapp/WEB-INF/view/homepage.jsp b/spring-security-login/src/main/webapp/WEB-INF/view/homepage.jsp index 5d96e37e32..5504d2f134 100644 --- a/spring-security-login/src/main/webapp/WEB-INF/view/homepage.jsp +++ b/spring-security-login/src/main/webapp/WEB-INF/view/homepage.jsp @@ -4,6 +4,6 @@

This is the body of the sample view

- "> Logout + ">Logout \ No newline at end of file diff --git a/spring-security-login/src/main/webapp/WEB-INF/web.xml b/spring-security-login/src/main/webapp/WEB-INF/web.xml index 23e0e8c1d7..6274cdd9fe 100644 --- a/spring-security-login/src/main/webapp/WEB-INF/web.xml +++ b/spring-security-login/src/main/webapp/WEB-INF/web.xml @@ -45,8 +45,8 @@ /* - - index.html - + + + \ No newline at end of file