Skip to content

Commit c2a5709

Browse files
committed
Merge branch '6.4.x'
2 parents 9a3bbf8 + bbe4f87 commit c2a5709

File tree

46 files changed

+175
-10
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+175
-10
lines changed

config/src/test/java/org/springframework/security/SpringSecurityCoreVersionSerializableTests.java

Lines changed: 61 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2002-2024 the original author or authors.
2+
* Copyright 2002-2025 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -54,6 +54,7 @@
5454
import org.springframework.beans.factory.config.BeanDefinition;
5555
import org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider;
5656
import org.springframework.core.type.filter.AssignableTypeFilter;
57+
import org.springframework.mock.web.MockHttpSession;
5758
import org.springframework.security.access.AccessDeniedException;
5859
import org.springframework.security.access.AuthorizationServiceException;
5960
import org.springframework.security.access.intercept.RunAsUserToken;
@@ -73,16 +74,33 @@
7374
import org.springframework.security.authentication.TestAuthentication;
7475
import org.springframework.security.authentication.TestingAuthenticationToken;
7576
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
77+
import org.springframework.security.authentication.event.AuthenticationFailureBadCredentialsEvent;
78+
import org.springframework.security.authentication.event.AuthenticationFailureCredentialsExpiredEvent;
79+
import org.springframework.security.authentication.event.AuthenticationFailureDisabledEvent;
80+
import org.springframework.security.authentication.event.AuthenticationFailureExpiredEvent;
81+
import org.springframework.security.authentication.event.AuthenticationFailureLockedEvent;
82+
import org.springframework.security.authentication.event.AuthenticationFailureProviderNotFoundEvent;
83+
import org.springframework.security.authentication.event.AuthenticationFailureProxyUntrustedEvent;
84+
import org.springframework.security.authentication.event.AuthenticationFailureServiceExceptionEvent;
85+
import org.springframework.security.authentication.event.AuthenticationSuccessEvent;
86+
import org.springframework.security.authentication.event.InteractiveAuthenticationSuccessEvent;
87+
import org.springframework.security.authentication.event.LogoutSuccessEvent;
7688
import org.springframework.security.authentication.jaas.JaasAuthenticationToken;
89+
import org.springframework.security.authentication.jaas.event.JaasAuthenticationFailedEvent;
90+
import org.springframework.security.authentication.jaas.event.JaasAuthenticationSuccessEvent;
7791
import org.springframework.security.authentication.ott.InvalidOneTimeTokenException;
7892
import org.springframework.security.authentication.ott.OneTimeTokenAuthenticationToken;
7993
import org.springframework.security.authentication.password.CompromisedPasswordException;
8094
import org.springframework.security.cas.authentication.CasAssertionAuthenticationToken;
8195
import org.springframework.security.cas.authentication.CasAuthenticationToken;
8296
import org.springframework.security.cas.authentication.CasServiceTicketAuthenticationToken;
97+
import org.springframework.security.core.Authentication;
8398
import org.springframework.security.core.GrantedAuthority;
8499
import org.springframework.security.core.SpringSecurityCoreVersion;
85100
import org.springframework.security.core.authority.AuthorityUtils;
101+
import org.springframework.security.core.context.SecurityContext;
102+
import org.springframework.security.core.context.SecurityContextImpl;
103+
import org.springframework.security.core.session.AbstractSessionEvent;
86104
import org.springframework.security.core.session.ReactiveSessionInformation;
87105
import org.springframework.security.core.session.SessionInformation;
88106
import org.springframework.security.core.userdetails.UserDetails;
@@ -163,13 +181,16 @@
163181
import org.springframework.security.web.authentication.rememberme.InvalidCookieException;
164182
import org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationException;
165183
import org.springframework.security.web.authentication.session.SessionAuthenticationException;
184+
import org.springframework.security.web.authentication.session.SessionFixationProtectionEvent;
185+
import org.springframework.security.web.authentication.switchuser.AuthenticationSwitchUserEvent;
166186
import org.springframework.security.web.authentication.www.NonceExpiredException;
167187
import org.springframework.security.web.csrf.CsrfException;
168188
import org.springframework.security.web.csrf.DefaultCsrfToken;
169189
import org.springframework.security.web.csrf.InvalidCsrfTokenException;
170190
import org.springframework.security.web.csrf.MissingCsrfTokenException;
171191
import org.springframework.security.web.firewall.RequestRejectedException;
172192
import org.springframework.security.web.server.firewall.ServerExchangeRejectedException;
193+
import org.springframework.security.web.session.HttpSessionCreatedEvent;
173194

174195
import static org.assertj.core.api.Assertions.assertThat;
175196
import static org.assertj.core.api.Assertions.fail;
@@ -200,6 +221,8 @@ class SpringSecurityCoreVersionSerializableTests {
200221

201222
static {
202223
UserDetails user = TestAuthentication.user();
224+
Authentication authentication = TestAuthentication.authenticated(user);
225+
SecurityContext securityContext = new SecurityContextImpl(authentication);
203226

204227
// oauth2-core
205228
generatorByClassName.put(DefaultOAuth2User.class, (r) -> TestOAuth2Users.create());
@@ -375,6 +398,37 @@ class SpringSecurityCoreVersionSerializableTests {
375398
(r) -> new UsernameNotFoundException("error", new RuntimeException()));
376399
generatorByClassName.put(TestingAuthenticationToken.class,
377400
(r) -> applyDetails(new TestingAuthenticationToken("username", "password")));
401+
generatorByClassName.put(AuthenticationFailureBadCredentialsEvent.class,
402+
(r) -> new AuthenticationFailureBadCredentialsEvent(authentication,
403+
new BadCredentialsException("message")));
404+
generatorByClassName.put(AuthenticationFailureCredentialsExpiredEvent.class,
405+
(r) -> new AuthenticationFailureCredentialsExpiredEvent(authentication,
406+
new CredentialsExpiredException("message")));
407+
generatorByClassName.put(AuthenticationFailureDisabledEvent.class,
408+
(r) -> new AuthenticationFailureDisabledEvent(authentication, new DisabledException("message")));
409+
generatorByClassName.put(AuthenticationFailureExpiredEvent.class,
410+
(r) -> new AuthenticationFailureExpiredEvent(authentication, new AccountExpiredException("message")));
411+
generatorByClassName.put(AuthenticationFailureLockedEvent.class,
412+
(r) -> new AuthenticationFailureLockedEvent(authentication, new LockedException("message")));
413+
generatorByClassName.put(AuthenticationFailureProviderNotFoundEvent.class,
414+
(r) -> new AuthenticationFailureProviderNotFoundEvent(authentication,
415+
new ProviderNotFoundException("message")));
416+
generatorByClassName.put(AuthenticationFailureProxyUntrustedEvent.class,
417+
(r) -> new AuthenticationFailureProxyUntrustedEvent(authentication,
418+
new AuthenticationServiceException("message")));
419+
generatorByClassName.put(AuthenticationFailureServiceExceptionEvent.class,
420+
(r) -> new AuthenticationFailureServiceExceptionEvent(authentication,
421+
new AuthenticationServiceException("message")));
422+
generatorByClassName.put(AuthenticationSuccessEvent.class,
423+
(r) -> new AuthenticationSuccessEvent(authentication));
424+
generatorByClassName.put(InteractiveAuthenticationSuccessEvent.class,
425+
(r) -> new InteractiveAuthenticationSuccessEvent(authentication, Authentication.class));
426+
generatorByClassName.put(LogoutSuccessEvent.class, (r) -> new LogoutSuccessEvent(authentication));
427+
generatorByClassName.put(JaasAuthenticationFailedEvent.class,
428+
(r) -> new JaasAuthenticationFailedEvent(authentication, new RuntimeException("message")));
429+
generatorByClassName.put(JaasAuthenticationSuccessEvent.class,
430+
(r) -> new JaasAuthenticationSuccessEvent(authentication));
431+
generatorByClassName.put(AbstractSessionEvent.class, (r) -> new AbstractSessionEvent(securityContext));
378432

379433
// cas
380434
generatorByClassName.put(CasServiceTicketAuthenticationToken.class, (r) -> {
@@ -448,6 +502,12 @@ class SpringSecurityCoreVersionSerializableTests {
448502
generatorByClassName.put(RequestRejectedException.class, (r) -> new RequestRejectedException("message"));
449503
generatorByClassName.put(ServerExchangeRejectedException.class,
450504
(r) -> new ServerExchangeRejectedException("message"));
505+
generatorByClassName.put(SessionFixationProtectionEvent.class,
506+
(r) -> new SessionFixationProtectionEvent(authentication, "old", "new"));
507+
generatorByClassName.put(AuthenticationSwitchUserEvent.class,
508+
(r) -> new AuthenticationSwitchUserEvent(authentication, user));
509+
generatorByClassName.put(HttpSessionCreatedEvent.class,
510+
(r) -> new HttpSessionCreatedEvent(new MockHttpSession()));
451511
}
452512

453513
@ParameterizedTest

0 commit comments

Comments
 (0)