Java SecurityManager checkSecurityAccess() Method



Description

The Java SecurityManager checkSecurityAccess(String target) method determines whether the permission with the specified permission target name should be granted or denied. If the requested permission is allowed, this method returns quietly. If denied, a SecurityException is raised. This method creates a SecurityPermission object for the given permission target name and calls checkPermission with it.

Declaration

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

public void checkSecurityAccess(String target)

Parameters

target − the target name of the SecurityPermission.

Return Value

This method does not return a value.

Exception

  • SecurityException − if the calling thread does not have permission for the requested access.

  • NullPointerException − if target is null.

  • IllegalArgumentException − if target is empty

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.checkSecurityAccess() method.

package com.tutorialspoint;

public class SecurityManagerDemo extends SecurityManager {

   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
      SecurityManagerDemo sm = new SecurityManagerDemo();

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

      // perform the check
      sm.checkSecurityAccess("read");

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

Output

Let us compile and run the above program, this will produce the following result −

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