From 1b50ca6bd3f21dac3553e592081165d966e1ffa6 Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Tue, 28 Jan 2020 21:19:15 +0100 Subject: [PATCH] Solve ReflectPermission issue in sandbox security policy model for CGLIB Closes gh-24420 --- .../org/springframework/cglib/core/ReflectUtils.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/spring-core/src/main/java/org/springframework/cglib/core/ReflectUtils.java b/spring-core/src/main/java/org/springframework/cglib/core/ReflectUtils.java index 0b09ad7600..1af56bd836 100644 --- a/spring-core/src/main/java/org/springframework/cglib/core/ReflectUtils.java +++ b/spring-core/src/main/java/org/springframework/cglib/core/ReflectUtils.java @@ -336,7 +336,15 @@ public class ReflectUtils { public static Constructor getConstructor(Class type, Class[] parameterTypes) { try { Constructor constructor = type.getDeclaredConstructor(parameterTypes); - constructor.setAccessible(true); + if (System.getSecurityManager() != null) { + AccessController.doPrivileged((PrivilegedAction) () -> { + constructor.setAccessible(true); + return null; + }); + } + else { + constructor.setAccessible(true); + } return constructor; } catch (NoSuchMethodException e) {