diff --git a/spring-security-modules/spring-security-web-login-2/src/main/java/com/baeldung/loginextrafieldscustom/SecurityConfig.java b/spring-security-modules/spring-security-web-login-2/src/main/java/com/baeldung/loginextrafieldscustom/SecurityConfig.java index 86744efdc2fc..bde0fa8ed1c7 100644 --- a/spring-security-modules/spring-security-web-login-2/src/main/java/com/baeldung/loginextrafieldscustom/SecurityConfig.java +++ b/spring-security-modules/spring-security-web-login-2/src/main/java/com/baeldung/loginextrafieldscustom/SecurityConfig.java @@ -12,8 +12,10 @@ import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.security.web.SecurityFilterChain; +import org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler; import org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; +import org.springframework.security.web.context.HttpSessionSecurityContextRepository; @EnableWebSecurity @PropertySource("classpath:/application-extrafields.properties") @@ -56,6 +58,8 @@ public CustomAuthenticationFilter authenticationFilter(AuthenticationManager aut CustomAuthenticationFilter filter = new CustomAuthenticationFilter(); filter.setAuthenticationManager(authenticationManager); filter.setAuthenticationFailureHandler(failureHandler()); + filter.setAuthenticationSuccessHandler(new SavedRequestAwareAuthenticationSuccessHandler()); + filter.setSecurityContextRepository(new HttpSessionSecurityContextRepository()); return filter; } diff --git a/spring-security-modules/spring-security-web-login-2/src/main/java/com/baeldung/loginextrafieldssimple/SecurityConfig.java b/spring-security-modules/spring-security-web-login-2/src/main/java/com/baeldung/loginextrafieldssimple/SecurityConfig.java index 86ed22c8f742..b9638ea0a0d8 100644 --- a/spring-security-modules/spring-security-web-login-2/src/main/java/com/baeldung/loginextrafieldssimple/SecurityConfig.java +++ b/spring-security-modules/spring-security-web-login-2/src/main/java/com/baeldung/loginextrafieldssimple/SecurityConfig.java @@ -9,8 +9,10 @@ import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer; import org.springframework.security.web.SecurityFilterChain; +import org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler; import org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; +import org.springframework.security.web.context.HttpSessionSecurityContextRepository; @EnableWebSecurity @PropertySource("classpath:/application-extrafields.properties") @@ -46,6 +48,8 @@ public SimpleAuthenticationFilter authenticationFilter(AuthenticationManager aut SimpleAuthenticationFilter filter = new SimpleAuthenticationFilter(); filter.setAuthenticationManager(authenticationManager); filter.setAuthenticationFailureHandler(failureHandler()); + filter.setAuthenticationSuccessHandler(new SavedRequestAwareAuthenticationSuccessHandler()); + filter.setSecurityContextRepository(new HttpSessionSecurityContextRepository()); return filter; } diff --git a/spring-security-modules/spring-security-web-login-2/src/test/java/com/baeldung/loginextrafields/LoginFieldsFullIntegrationTest.java b/spring-security-modules/spring-security-web-login-2/src/test/java/com/baeldung/loginextrafields/LoginFieldsFullIntegrationTest.java index 63c4e985055d..87cad487a029 100644 --- a/spring-security-modules/spring-security-web-login-2/src/test/java/com/baeldung/loginextrafields/LoginFieldsFullIntegrationTest.java +++ b/spring-security-modules/spring-security-web-login-2/src/test/java/com/baeldung/loginextrafields/LoginFieldsFullIntegrationTest.java @@ -52,7 +52,7 @@ public void givenAccessSecuredResource_whenAuthenticated_thenAuthHasExtraFields( .session(session) .with(csrf())) .andExpect(status().is3xxRedirection()) - .andExpect(redirectedUrlPattern("**/user/index")) + .andExpect(redirectedUrlPattern("**/user/index?continue")) .andReturn(); mockMvc.perform(securedResourceAccess.session(session)) diff --git a/spring-security-modules/spring-security-web-login-2/src/test/java/com/baeldung/loginextrafields/LoginFieldsSimpleIntegrationTest.java b/spring-security-modules/spring-security-web-login-2/src/test/java/com/baeldung/loginextrafields/LoginFieldsSimpleIntegrationTest.java index 2348afeb84b2..d16feb84f5b9 100644 --- a/spring-security-modules/spring-security-web-login-2/src/test/java/com/baeldung/loginextrafields/LoginFieldsSimpleIntegrationTest.java +++ b/spring-security-modules/spring-security-web-login-2/src/test/java/com/baeldung/loginextrafields/LoginFieldsSimpleIntegrationTest.java @@ -52,7 +52,7 @@ public void givenAccessSecuredResource_whenAuthenticated_thenAuthHasExtraFields( .session(session) .with(csrf())) .andExpect(status().is3xxRedirection()) - .andExpect(redirectedUrlPattern("**/user/index")) + .andExpect(redirectedUrlPattern("**/user/index?continue")) .andReturn(); mockMvc.perform(securedResourceAccess.session(session))