Java SecurityManager checkCreateClassLoader() Method



Description

The Java SecurityManager checkCreateClassLoader() method throws a SecurityException if the calling thread is not allowed to create a new class loader. This method calls checkPermission with the RuntimePermission("createClassLoader") permission. If you override this method, then you should make a call to super.checkCreateClassLoader at the point the overridden method would normally throw an exception.

Declaration

Following is the declaration for java.lang.SecurityManager.checkCreateClassLoader() method

public void checkCreateClassLoader()

Parameters

NA

Return Value

This method does not return a value.

Exception

SecurityException − if the calling thread does not have permission to create a new class loader.

Example

Our examples require that the permissions for each command is blocked. A new policy file was set that allows only the creating and setting of our Security Manager. The file is in C:/java.policy and contains the following text −

grant {
   permission java.lang.RuntimePermission "setSecurityManager";
   permission java.lang.RuntimePermission "createSecurityManager";
   permission java.lang.RuntimePermission "usePolicy";
};

The following example shows the usage of lang.SecurityManager.checkCreateClassLoader() method.

package com.tutorialspoint;

import java.security.AccessControlContext;
import java.security.AccessController;

public class SecurityManagerDemo {

   public static void main(String[] args) {

      // set the policy file as the system securuty policy
      System.setProperty("java.security.policy", "file:/C:/java.policy");

      // create a security manager
      SecurityManager sm = new SecurityManager();

      // set the system security manager
      System.setSecurityManager(sm);

      // perform the check
      sm.checkCreateClassLoader();

      // print a message if we passed the check
      System.out.println("Allowed!");
   }
}

Output

Exception in thread "main" java.lang.UnsupportedOperationException: The Security Manager is deprecated and will be removed in a future release
	at java.base/java.lang.System.setSecurityManager(System.java:430)
	at com.tutorialspoint.SecurityManagerDemo.main(SecurityManagerDemo.java:14)

Note − Security Manager has been deprecated since version 17 and marked for removal.

java_lang_securitymanager.htm
Advertisements