Home »
Java programming language
Java SecurityManager checkAccess() method with example
SecurityManager Class checkAccess() method: Here, we are going to learn about the checkAccess() method of SecurityManager Class with its syntax and example.
Submitted by Preeti Jain, on December 14, 2019
Syntax:
public void checkAccess (Thread th);
public void checkAccess (ThreadGroup tg);
SecurityManager Class checkAccess() method
- checkAccess(Thread th) method is called for the current security manager by these methods of Thread class stop(), suspend(), resume(), setName() and setDaemon().
- checkAccess(ThreadGroup tg) method is called for the current security manager to create new child thread on thread group by using these methods of ThreadGroup class like setDaemon(), stop(), resume(), suspend() and destroy().
- checkAccess(Thread th), checkAccess (ThreadGroup tg) methods may throw an exception at the time modification.
SecurityException: This exception may throw when the calling thread is not allowed to modify Thread or ThreadGroup.
- These methods are non-static methods, it is accessible with the class object only and, if we try to access these methods with the class name then we will get an error.
Parameter(s):
- In the first case, Thread th - This parameter represents the thread to be examined.
- In the second case, ThreadGroup tg - This parameter represents the thread group to be examined.
Return value:
The return type of this method is void, it returns nothing.
Example:
// Java program to demonstrate the example
// of checkAccess () method of SecurityManager class
public class CheckAccess extends SecurityManager {
// Override checkAcess(Thread th) of SecurityManager class
public void checkAccess(Thread th) {
throw new SecurityException("Restricted...");
}
// Override checkAcess(ThreadGroup tg) of SecurityManager //class
public void checkAccess(ThreadGroup tg) {
throw new SecurityException("Restricted...");
}
public static void main(String[] args) {
ThreadGroup tg1 = new ThreadGroup("New Thread Group");
// By using setProperty() method is to set the policy property
// with security manager
System.setProperty("java.security.policy", "file:/C:/java.policy");
// Instantiating a CheckAccept object
CheckAccess ca = new CheckAccess();
// By using setSecurityManager() method is to set the
// security manager
System.setSecurityManager(ca);
// By using checkAccess(Thread th) method is to check that
// current thread is enabled for access or not
ca.checkAccess(Thread.currentThread());
// By using checkAccess(ThreadGroup tg) method is to check
// that current thread group is enabled for access or not
ca.checkAccess(tg1);
// Display the message when thread is enabled
System.out.println("Not Restricted..");
}
}
Output
Exception in thread "main" java.lang.SecurityException: Restricted...
at CheckAccess.checkAccess(CheckAccess.java:5)
at CheckAccess.main(CheckAccess.java:30)