diff --git a/core/src/main/java/hudson/security/AuthorizationMatrixProperty.java b/core/src/main/java/hudson/security/AuthorizationMatrixProperty.java index daf512a11236bc0605c3198acc9c06e15b5feb72..e6afcca90e6b7965d75c7024fd43c80d54b46fa0 100644 --- a/core/src/main/java/hudson/security/AuthorizationMatrixProperty.java +++ b/core/src/main/java/hudson/security/AuthorizationMatrixProperty.java @@ -262,6 +262,8 @@ public class AuthorizationMatrixProperty extends JobProperty> { reader.moveUp(); } + GlobalMatrixAuthorizationStrategy.migrateHudson2324(as.grantedPermissions); + return as; } } diff --git a/core/src/main/java/hudson/security/GlobalMatrixAuthorizationStrategy.java b/core/src/main/java/hudson/security/GlobalMatrixAuthorizationStrategy.java index e199d97a431c2f00fa3703b8039f9a098cc989c4..3f49a5776b52c80e814900b3326dff39a5e5c0a8 100644 --- a/core/src/main/java/hudson/security/GlobalMatrixAuthorizationStrategy.java +++ b/core/src/main/java/hudson/security/GlobalMatrixAuthorizationStrategy.java @@ -54,6 +54,7 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; import java.io.IOException; +import java.io.Serializable; /** * Role-based authorization via a matrix. @@ -105,6 +106,10 @@ public class GlobalMatrixAuthorizationStrategy extends AuthorizationStrategy { return sids; } + /** + * In earlier version of Hudson we used to use reflection converter, which calls this method. + * This is now unmarshaller via {@link ConverterImpl} + */ private Object readResolve() { migrateHudson2324(grantedPermissions); acl = new AclImpl(); @@ -209,6 +214,8 @@ public class GlobalMatrixAuthorizationStrategy extends AuthorizationStrategy { reader.moveUp(); } + migrateHudson2324(as.grantedPermissions); + return as; }