Browse Source

Use HttpSessionSecurityContextRepository by default in SwitchUserFilter

Closes gh-12834
pull/12740/head
Marcus Da Coregio 3 years ago
parent
commit
84cca81edf
  1. 3
      web/src/main/java/org/springframework/security/web/authentication/switchuser/SwitchUserFilter.java
  2. 6
      web/src/test/java/org/springframework/security/web/authentication/switchuser/SwitchUserFilterTests.java

3
web/src/main/java/org/springframework/security/web/authentication/switchuser/SwitchUserFilter.java

@ -58,6 +58,7 @@ import org.springframework.security.web.authentication.AuthenticationSuccessHand @@ -58,6 +58,7 @@ import org.springframework.security.web.authentication.AuthenticationSuccessHand
import org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler;
import org.springframework.security.web.authentication.SimpleUrlAuthenticationSuccessHandler;
import org.springframework.security.web.authentication.WebAuthenticationDetailsSource;
import org.springframework.security.web.context.HttpSessionSecurityContextRepository;
import org.springframework.security.web.context.RequestAttributeSecurityContextRepository;
import org.springframework.security.web.context.SecurityContextRepository;
import org.springframework.security.web.util.UrlUtils;
@ -144,7 +145,7 @@ public class SwitchUserFilter extends GenericFilterBean implements ApplicationEv @@ -144,7 +145,7 @@ public class SwitchUserFilter extends GenericFilterBean implements ApplicationEv
private AuthenticationFailureHandler failureHandler;
private SecurityContextRepository securityContextRepository = new RequestAttributeSecurityContextRepository();
private SecurityContextRepository securityContextRepository = new HttpSessionSecurityContextRepository();
@Override
public void afterPropertiesSet() {

6
web/src/test/java/org/springframework/security/web/authentication/switchuser/SwitchUserFilterTests.java

@ -47,7 +47,7 @@ import org.springframework.security.core.userdetails.UsernameNotFoundException; @@ -47,7 +47,7 @@ import org.springframework.security.core.userdetails.UsernameNotFoundException;
import org.springframework.security.util.FieldUtils;
import org.springframework.security.web.DefaultRedirectStrategy;
import org.springframework.security.web.authentication.SimpleUrlAuthenticationSuccessHandler;
import org.springframework.security.web.context.RequestAttributeSecurityContextRepository;
import org.springframework.security.web.context.HttpSessionSecurityContextRepository;
import org.springframework.security.web.context.SecurityContextRepository;
import org.springframework.security.web.util.matcher.AnyRequestMatcher;
import org.springframework.test.util.ReflectionTestUtils;
@ -491,10 +491,10 @@ public class SwitchUserFilterTests { @@ -491,10 +491,10 @@ public class SwitchUserFilterTests {
}
@Test
void filterWhenDefaultSecurityContextRepositoryThenRequestAttributeRepository() {
void filterWhenDefaultSecurityContextRepositoryThenHttpSessionRepository() {
SwitchUserFilter switchUserFilter = new SwitchUserFilter();
assertThat(ReflectionTestUtils.getField(switchUserFilter, "securityContextRepository"))
.isInstanceOf(RequestAttributeSecurityContextRepository.class);
.isInstanceOf(HttpSessionSecurityContextRepository.class);
}
@Test

Loading…
Cancel
Save