SecurityManager checkPackageAccess(String) in Java

checkPackageAccess(String): This method is available in the java.lang.SecurityManager class of Java.

Syntax:

void java.lang.SecurityManager.checkPackageAccess(String pkg)

This method takes one argument. This method throws a SecurityException if the calling thread is not allowed to access the specified package.

During class loading, this method may be called by the load class method of class loaders and the Java Virtual Machine to ensure that the caller is allowed to access the package of the class that is being loaded.

Parameters: One parameter is required for this method.

pkg: the package name.

Returns: NA

Throws:

1. SecurityException - if the calling thread does not have permission to access the specified package.

2. NullPointerException - if the package name argument is null.

Approach 1: When no exception

Java

package com.SecurityManager;

public class SecurityManagercheckPackageAccess {
    public static void main(String[] args) {

        SecurityManager securityManager = new SecurityManager();

        String pkg = "java.lang";
        securityManager.checkPackageAccess(pkg);
        System.out.println("Successfully checkPackageAccess");
    }
}

Output:

Successfully checkPackageAccess


Approach 2: NullPointerException 

Java

package com.SecurityManager;

public class SecurityManagercheckPackageAccess {
    public static void main(String[] args) {

        SecurityManager securityManager = new SecurityManager();

        String pkg = null;
        securityManager.checkPackageAccess(pkg);
        System.out.println("Successfully checkPackageAccess");
    }
}

Output:

Exception in thread "main" java.lang.NullPointerException: package name can't be null at java.base/java.util.Objects.requireNonNull(Objects.java:233) at java.base/java.lang.SecurityManager.checkPackageAccess(SecurityManager.java:1320) at com.SecurityManager.SecurityManagercheckPackageAccess.main(SecurityManagercheckPackageAccess.java:9)


Some other methods of SecurityManager

SecurityManager()This method constructs a new SecurityManager.

checkAccept(String, int)This method throws a SecurityException if the calling thread is not permitted to accept a socket connection from the specified host and port number.

checkAccess(Thread)This method throws a SecurityException if the calling thread is not allowed to modify the thread argument.

checkAccess(ThreadGroup)This method throws a SecurityException if the calling thread is not allowed to modify the thread group argument.

checkConnect(String, int)This method throws a SecurityException if the calling thread is not allowed to open a socket connection to the specified host and port number.

checkConnect(String, int, Object)This method throws a SecurityException if the specified security context is not allowed to open a socket connection to the specified host and port number.

checkCreateClassLoader()This method throws a SecurityException if the calling thread is not allowed to create a new class loader.

checkDelete(String)This method throws a SecurityException if the calling thread is not allowed to delete the specified file.

checkExec(String)This method throws a SecurityException if the calling thread is not allowed to create a subprocess.

checkExit(int)This method throws a SecurityException if the calling thread is not allowed to cause the Java Virtual Machine to halt with the specified status code.

checkLink(String)This method throws a SecurityException if the calling thread is not allowed to dynamic link the library code specified by the string argument file.

checkListen(int)This method throws a SecurityException if the calling thread is not allowed to wait for a connection request on the specified local port number.

checkMulticast(InetAddress)This method throws a SecurityException if the calling thread is not allowed to use(join/leave/send/receive) IP multicast.

checkPackageAccess(String)This method throws a SecurityException if the calling thread is not allowed to access the specified package.

checkPackageDefinition(String)This method throws a SecurityException if the calling thread is not allowed to define classes in the specified package.

checkPermission(Permission)This method throws a SecurityException if the requested access, specified by the given permission, is not permitted based on the security policy currently in effect.

checkPermission(Permission, Object)This method throws a SecurityException if the specified security context is denied access to the resource specified by the given permission.

checkPrintJobAccess()This method throws a SecurityException if the calling thread is not allowed to initiate a print job request.

checkPropertiesAccess()This method throws a SecurityException if the calling thread is not allowed to access or modify the system properties.

checkPropertyAccess(String)This method throws a SecurityException if the calling thread is not allowed to access the system property with the specified key name.

checkRead(FileDescriptor)This method throws a SecurityException if the calling thread is not allowed to read from the specified file descriptor.

checkRead(String)This method throws a SecurityException if the calling thread is not allowed to read the file specified by the string argument.

checkRead(String, Object)This method throws a SecurityException if the specified security context is not allowed to read the file specified by the string argument.

checkSecurityAccess(String)This method determines whether permission with the specified target name should be granted or denied.

checkSetFactory()This method throws a SecurityException if the calling thread is not allowed to set the socket factory used by ServerSocket or Socket or the stream handler factory used by URL.

checkWrite(FileDescriptor) This method throws a SecurityException if the calling thread is not allowed to write to the specified file descriptor.

checkWrite(String)This method throws a SecurityException if the calling thread is not allowed to write to the file specified by the string argument.

getSecurityContext()This method creates an object that encapsulates the current execution environment.

getThreadGroup()This method returns the thread group into which to instantiate any new thread being created at the time this is being called.

No comments:

Post a Comment