Skip to content

Commit e1a42db

Browse files
committed
Merge branch '6.4.x'
2 parents 177ce59 + e1e5970 commit e1a42db

16 files changed

+58
-0
lines changed

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

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,13 @@
3939
import java.util.HashMap;
4040
import java.util.HashSet;
4141
import java.util.List;
42+
import java.util.Locale;
4243
import java.util.Map;
4344
import java.util.Set;
4445
import java.util.stream.Collectors;
4546
import java.util.stream.Stream;
4647

48+
import jakarta.servlet.http.Cookie;
4749
import org.apache.commons.lang3.ObjectUtils;
4850
import org.apereo.cas.client.validation.AssertionImpl;
4951
import org.instancio.Instancio;
@@ -58,9 +60,11 @@
5860
import org.springframework.beans.factory.config.BeanDefinition;
5961
import org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider;
6062
import org.springframework.core.type.filter.AssignableTypeFilter;
63+
import org.springframework.mock.web.MockHttpServletRequest;
6164
import org.springframework.mock.web.MockHttpSession;
6265
import org.springframework.security.access.AccessDeniedException;
6366
import org.springframework.security.access.AuthorizationServiceException;
67+
import org.springframework.security.access.SecurityConfig;
6468
import org.springframework.security.access.intercept.RunAsUserToken;
6569
import org.springframework.security.authentication.AbstractAuthenticationToken;
6670
import org.springframework.security.authentication.AccountExpiredException;
@@ -104,13 +108,16 @@
104108
import org.springframework.security.core.authority.AuthorityUtils;
105109
import org.springframework.security.core.context.SecurityContext;
106110
import org.springframework.security.core.context.SecurityContextImpl;
111+
import org.springframework.security.core.context.TransientSecurityContext;
107112
import org.springframework.security.core.session.AbstractSessionEvent;
108113
import org.springframework.security.core.session.ReactiveSessionInformation;
109114
import org.springframework.security.core.session.SessionInformation;
110115
import org.springframework.security.core.userdetails.UserDetails;
111116
import org.springframework.security.core.userdetails.UsernameNotFoundException;
117+
import org.springframework.security.ldap.ppolicy.PasswordPolicyControl;
112118
import org.springframework.security.ldap.ppolicy.PasswordPolicyErrorStatus;
113119
import org.springframework.security.ldap.ppolicy.PasswordPolicyException;
120+
import org.springframework.security.ldap.ppolicy.PasswordPolicyResponseControl;
114121
import org.springframework.security.ldap.userdetails.LdapAuthority;
115122
import org.springframework.security.oauth2.client.ClientAuthorizationException;
116123
import org.springframework.security.oauth2.client.ClientAuthorizationRequiredException;
@@ -179,6 +186,7 @@
179186
import org.springframework.security.saml2.provider.service.authentication.TestSaml2Authentications;
180187
import org.springframework.security.saml2.provider.service.authentication.TestSaml2PostAuthenticationRequests;
181188
import org.springframework.security.saml2.provider.service.authentication.TestSaml2RedirectAuthenticationRequests;
189+
import org.springframework.security.web.PortResolverImpl;
182190
import org.springframework.security.web.authentication.WebAuthenticationDetails;
183191
import org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationToken;
184192
import org.springframework.security.web.authentication.preauth.PreAuthenticatedCredentialsNotFoundException;
@@ -194,6 +202,8 @@
194202
import org.springframework.security.web.csrf.InvalidCsrfTokenException;
195203
import org.springframework.security.web.csrf.MissingCsrfTokenException;
196204
import org.springframework.security.web.firewall.RequestRejectedException;
205+
import org.springframework.security.web.savedrequest.DefaultSavedRequest;
206+
import org.springframework.security.web.savedrequest.SimpleSavedRequest;
197207
import org.springframework.security.web.server.firewall.ServerExchangeRejectedException;
198208
import org.springframework.security.web.session.HttpSessionCreatedEvent;
199209
import org.springframework.security.web.webauthn.api.Bytes;
@@ -442,6 +452,8 @@ class SpringSecurityCoreVersionSerializableTests {
442452
generatorByClassName.put(JaasAuthenticationSuccessEvent.class,
443453
(r) -> new JaasAuthenticationSuccessEvent(authentication));
444454
generatorByClassName.put(AbstractSessionEvent.class, (r) -> new AbstractSessionEvent(securityContext));
455+
generatorByClassName.put(SecurityConfig.class, (r) -> new SecurityConfig("value"));
456+
generatorByClassName.put(TransientSecurityContext.class, (r) -> new TransientSecurityContext(authentication));
445457

446458
// cas
447459
generatorByClassName.put(CasServiceTicketAuthenticationToken.class, (r) -> {
@@ -466,6 +478,11 @@ class SpringSecurityCoreVersionSerializableTests {
466478
(r) -> new LdapAuthority("USER", "username", Map.of("attribute", List.of("value1", "value2"))));
467479
generatorByClassName.put(PasswordPolicyException.class,
468480
(r) -> new PasswordPolicyException(PasswordPolicyErrorStatus.INSUFFICIENT_PASSWORD_QUALITY));
481+
generatorByClassName.put(PasswordPolicyControl.class, (r) -> new PasswordPolicyControl(true));
482+
generatorByClassName.put(PasswordPolicyResponseControl.class, (r) -> {
483+
byte[] encodedResponse = { 0x30, 0x05, (byte) 0xA0, 0x03, (byte) 0xA0, 0x1, 0x21 };
484+
return new PasswordPolicyResponseControl(encodedResponse);
485+
});
469486

470487
// saml2-service-provider
471488
generatorByClassName.put(Saml2AuthenticationException.class,
@@ -521,6 +538,20 @@ class SpringSecurityCoreVersionSerializableTests {
521538
(r) -> new AuthenticationSwitchUserEvent(authentication, user));
522539
generatorByClassName.put(HttpSessionCreatedEvent.class,
523540
(r) -> new HttpSessionCreatedEvent(new MockHttpSession()));
541+
generatorByClassName.put(SimpleSavedRequest.class, (r) -> {
542+
MockHttpServletRequest request = new MockHttpServletRequest("GET", "/uri");
543+
request.setQueryString("query=string");
544+
request.setScheme("https");
545+
request.setServerName("localhost");
546+
request.setServerPort(80);
547+
request.setRequestURI("/uri");
548+
request.setCookies(new Cookie("name", "value"));
549+
request.addHeader("header", "value");
550+
request.addParameter("parameter", "value");
551+
request.setPathInfo("/path");
552+
request.addPreferredLocale(Locale.ENGLISH);
553+
return new SimpleSavedRequest(new DefaultSavedRequest(request, new PortResolverImpl(), "continue"));
554+
});
524555

525556
// webauthn
526557
generatorByClassName.put(Bytes.class, (r) -> TestBytes.get());

core/src/main/java/org/springframework/security/access/SecurityConfig.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package org.springframework.security.access;
1818

19+
import java.io.Serial;
1920
import java.util.ArrayList;
2021
import java.util.List;
2122

@@ -29,6 +30,9 @@
2930
*/
3031
public class SecurityConfig implements ConfigAttribute {
3132

33+
@Serial
34+
private static final long serialVersionUID = -7138084564199804304L;
35+
3236
private final String attrib;
3337

3438
public SecurityConfig(String config) {

core/src/main/java/org/springframework/security/access/annotation/Jsr250SecurityConfig.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
* @deprecated Use {@link AuthorizationManagerBeforeMethodInterceptor#jsr250()} instead
3131
*/
3232
@Deprecated
33+
@SuppressWarnings("serial")
3334
public class Jsr250SecurityConfig extends SecurityConfig {
3435

3536
public static final Jsr250SecurityConfig PERMIT_ALL_ATTRIBUTE = new Jsr250SecurityConfig(PermitAll.class.getName());

core/src/main/java/org/springframework/security/access/expression/method/PostInvocationExpressionAttribute.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
* instead
2929
*/
3030
@Deprecated
31+
@SuppressWarnings("serial")
3132
class PostInvocationExpressionAttribute extends AbstractExpressionBasedMethodConfigAttribute
3233
implements PostInvocationAttribute {
3334

core/src/main/java/org/springframework/security/access/expression/method/PreInvocationExpressionAttribute.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
* instead
2929
*/
3030
@Deprecated
31+
@SuppressWarnings("serial")
3132
class PreInvocationExpressionAttribute extends AbstractExpressionBasedMethodConfigAttribute
3233
implements PreInvocationAttribute {
3334

0 commit comments

Comments
 (0)