checkPermission(Permission, Object): This method is available in the java.lang.SecurityManager class of Java.
Syntax:
void java.lang.SecurityManager.checkPermission(Permission perm, Object context)
This method takes two arguments. This method throws a SecurityException if the specified security context is denied access to the resource specified by the given permission.
The context must be a security context returned by a previous call to getSecurityContext and the access control decision is based upon the configured security policy for that security context.
Parameters: Two parameters are required for this method.
perm: the specified permission.
context: a system-dependent security context.
Returns: NA
Throws:
1. SecurityException - if the specified security context is not an instance of AccessControlContext(e.g., is null), or is denied access to the resource specified by the given permission.
2. NullPointerException - if the permission argument is null.
Approach 1: SecurityException
Java
package com.SecurityManager;import java.security.Permission;public class SecurityManagercheckPermission2 {public static void main(String[] args) {SecurityManager securityManager = new SecurityManager();String pkg = "java.lang";Permission perm = new Permission(pkg) {/****/private static final long serialVersionUID = 1L;@Overridepublic boolean implies(Permission permission) {// TODO Auto-generated method stubreturn true;}@Overridepublic int hashCode() {// TODO Auto-generated method stubreturn 0;}@Overridepublic String getActions() {// TODO Auto-generated method stubreturn "read";}@Overridepublic boolean equals(Object obj) {// TODO Auto-generated method stubreturn false;}};securityManager.checkPermission(perm, pkg);System.out.println("Successfully checkPackageDefinition");}}
Output:
Exception in thread "main" java.lang.SecurityException at java.base/java.lang.SecurityManager.checkPermission(SecurityManager.java:446) at com.SecurityManager.SecurityManagercheckPermission2.main(SecurityManagercheckPermission2.java:42)
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