Browse Source

Support Serialization for SecurityConfig

Issue gh-16276
pull/16523/head
Josh Cummings 11 months ago
parent
commit
d7921daa13
No known key found for this signature in database
GPG Key ID: 869B37A20E876129
  1. 2
      config/src/test/java/org/springframework/security/SpringSecurityCoreVersionSerializableTests.java
  2. BIN
      config/src/test/resources/serialized/6.4.x/org.springframework.security.access.SecurityConfig.serialized
  3. 4
      core/src/main/java/org/springframework/security/access/SecurityConfig.java
  4. 1
      core/src/main/java/org/springframework/security/access/annotation/Jsr250SecurityConfig.java

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

@ -60,6 +60,7 @@ import org.springframework.mock.web.MockHttpServletRequest; @@ -60,6 +60,7 @@ import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpSession;
import org.springframework.security.access.AccessDeniedException;
import org.springframework.security.access.AuthorizationServiceException;
import org.springframework.security.access.SecurityConfig;
import org.springframework.security.access.intercept.RunAsUserToken;
import org.springframework.security.authentication.AbstractAuthenticationToken;
import org.springframework.security.authentication.AccountExpiredException;
@ -442,6 +443,7 @@ class SpringSecurityCoreVersionSerializableTests { @@ -442,6 +443,7 @@ class SpringSecurityCoreVersionSerializableTests {
generatorByClassName.put(JaasAuthenticationSuccessEvent.class,
(r) -> new JaasAuthenticationSuccessEvent(authentication));
generatorByClassName.put(AbstractSessionEvent.class, (r) -> new AbstractSessionEvent(securityContext));
generatorByClassName.put(SecurityConfig.class, (r) -> new SecurityConfig("value"));
// cas
generatorByClassName.put(CasServiceTicketAuthenticationToken.class, (r) -> {

BIN
config/src/test/resources/serialized/6.4.x/org.springframework.security.access.SecurityConfig.serialized

Binary file not shown.

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

@ -16,6 +16,7 @@ @@ -16,6 +16,7 @@
package org.springframework.security.access;
import java.io.Serial;
import java.util.ArrayList;
import java.util.List;
@ -29,6 +30,9 @@ import org.springframework.util.StringUtils; @@ -29,6 +30,9 @@ import org.springframework.util.StringUtils;
*/
public class SecurityConfig implements ConfigAttribute {
@Serial
private static final long serialVersionUID = -7138084564199804304L;
private final String attrib;
public SecurityConfig(String config) {

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

@ -30,6 +30,7 @@ import org.springframework.security.authorization.method.AuthorizationManagerBef @@ -30,6 +30,7 @@ import org.springframework.security.authorization.method.AuthorizationManagerBef
* @deprecated Use {@link AuthorizationManagerBeforeMethodInterceptor#jsr250()} instead
*/
@Deprecated
@SuppressWarnings("serial")
public class Jsr250SecurityConfig extends SecurityConfig {
public static final Jsr250SecurityConfig PERMIT_ALL_ATTRIBUTE = new Jsr250SecurityConfig(PermitAll.class.getName());

Loading…
Cancel
Save