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)


Comments and Discussions!

Load comments ↻





Copyright © 2024 www.includehelp.com. All rights reserved.