I'm using a custom Java SecurityManager for a sandboxed plugin. It works fine when running standalone but when I run my unit tests I get a bunch of AccessControlException
s. E.g.
java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "createClassLoader") at java.security.AccessControlContext.checkPermission(AccessControlContext.java:472)
at java.security.AccessController.checkPermission(AccessController.java:884)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.SecurityManager.checkCreateClassLoader(SecurityManager.java:611)
at java.lang.ClassLoader.checkCreateClassLoader(ClassLoader.java:274)
at java.lang.ClassLoader.<init>(ClassLoader.java:316)
at java.security.SecureClassLoader.<init>(SecureClassLoader.java:76)
And here's the custom SecurityManager:
Policy.setPolicy(new Policy() {
@Override
public PermissionCollection getPermissions(CodeSource cs) {
Permissions mainPermissions = new Permissions();
mainPermissions.add(new AllPermission());
return mainPermissions;
}
});
// set a security manager so permissions get applied,
System.setSecurityManager(new SecurityManager());