Serialization Support of Core Components

Issue gh-16276
This commit is contained in:
Josh Cummings 2025-01-23 16:50:30 -07:00
parent 3e4ba737e7
commit 36716d12ba
No known key found for this signature in database
GPG Key ID: 869B37A20E876129
4 changed files with 8 additions and 0 deletions

View File

@ -104,6 +104,7 @@ import org.springframework.security.core.SpringSecurityCoreVersion;
import org.springframework.security.core.authority.AuthorityUtils;
import org.springframework.security.core.context.SecurityContext;
import org.springframework.security.core.context.SecurityContextImpl;
import org.springframework.security.core.context.TransientSecurityContext;
import org.springframework.security.core.session.AbstractSessionEvent;
import org.springframework.security.core.session.ReactiveSessionInformation;
import org.springframework.security.core.session.SessionInformation;
@ -444,6 +445,7 @@ class SpringSecurityCoreVersionSerializableTests {
(r) -> new JaasAuthenticationSuccessEvent(authentication));
generatorByClassName.put(AbstractSessionEvent.class, (r) -> new AbstractSessionEvent(securityContext));
generatorByClassName.put(SecurityConfig.class, (r) -> new SecurityConfig("value"));
generatorByClassName.put(TransientSecurityContext.class, (r) -> new TransientSecurityContext(authentication));
// cas
generatorByClassName.put(CasServiceTicketAuthenticationToken.class, (r) -> {

View File

@ -405,6 +405,7 @@ class ComparableVersion implements Comparable<ComparableVersion> {
* Represents a version list item. This class is used both for the global item list
* and for sub-lists (which start with '-(number)' in the version specification).
*/
@SuppressWarnings("serial")
private static class ListItem extends ArrayList<Item> implements Item {
@Override

View File

@ -16,6 +16,8 @@
package org.springframework.security.core.context;
import java.io.Serial;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.Transient;
@ -30,6 +32,9 @@ import org.springframework.security.core.Transient;
@Transient
public class TransientSecurityContext extends SecurityContextImpl {
@Serial
private static final long serialVersionUID = -7925492364422193347L;
public TransientSecurityContext() {
}