Java SecurityManager checkMulticast() Method



Description

The Java SecurityManager checkMulticast(InetAddress maddr) method throws a SecurityException if the calling thread is not allowed to use (join/leave/send/receive) IP multicast. This method calls checkPermission with the java.net.SocketPermission(maddr.getHostAddress(), "accept,connect") permission. If you override this method, then you should make a call to super.checkMulticast at the point the overridden method would normally throw an exception.

Declaration

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

public void checkMulticast(InetAddress maddr)

Parameters

maddr − Internet group address to be used.

Return Value

This method does not return a value.

Exception

  • SecurityException − if the caller does not have permission to access members.

  • NullPointerException − if the address argument is null.

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

package com.tutorialspoint;

import java.net.InetAddress;

public class SecurityManagerDemo extends SecurityManager {

   public static void main(String[] args) {

      InetAddress add = null;
      try {
         add = InetAddress.getLocalHost();
      } catch (Exception ex) {
         ex.printStackTrace();
      }

      // 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.checkMulticast(add);

      // 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