método del Ejemplo de Java SecurityManager checkRead ()

SecurityManager class checkRead () método : Aquí, vamos a aprender sobre el método checkRead () de SecurityManager Class con su sintaxis y su ejemplo.

Sintaxis:

    public void checkRead(FileDescriptor  file_des);
public void checkRead(String fi);
public void checkRead(String fi , Object cntxt);

método SecurityManager Class checkRead ()

  • checkRead () método está disponible en java.lang Class.
  • checkRead (file_des FileDescriptor) Método de invoca checkPermission con el RuntimePermission ( “readFileDescriptor”) para leer el archivo del descriptor de archivo indicado.
  • checkRead (String fi) Método de invoca checkPermission con la RuntimePermission (fi, “leer”) para leer el archivo desde el parámetro fi dado.
  • método checkRead (String fi, cntxt Object) invoca checkPermission con el FilePermission (fi, “leer”) para leer el archivo a partir del parámetro fi dado cuando cntxt es una instancia de AccessControlContext de lo contrario puede package una excepción cuando cntxt es no instancia de AccessControlContext.checkRead (file_des FileDescriptor), checkRead (String fi), checkRead (String fi, cntxt Object) métodos puede throw una excepción en el momento de leer el archivo de diferentes medios de comunicación.
  • checkRead (file_des FileDescriptor):

    • SecurityException – Esta excepción puede throw cuando el hilo que llama no se le permite leer el archivo del descriptor de archivo indicado.
    • NullPointerException – Esta excepción puede throw cuando el parámetro dado es throw.

  • checkRead (String fi):

    • SecurityException – Esta excepción puede null cuando el hilo que llama no se le permite leer el archivo del parámetro dado fi (archivo).
    • NullPointerException – Esta excepción puede throw cuando el parámetro dado es throw.

  • checkRead (String fi, cntxt Object):

    • SecurityException – Esta excepción puede null cuando el hilo que llama no se le permite leer archivos de la fi dada de parámetros (archivo) o cuando cntxt (contexto) parámetro no es una instancia de AccessControlContext.
    • NullPointerException – Esta excepción puede throw cuando el parámetro dado es throw.

  • Estos son métodos no null, es accesible sólo con el objeto static y, si tratamos de acceder a estos métodos con el nombre class entonces obtendremos un error.

Parámetro (s):

  • En la primera class, FileDescriptor file_des – este parámetro representa el descriptor de fichero específico del sistema.
  • En la segunda case, Cadena fi – Este parámetro representa el nombre de archivo específico del sistema.
  • En la tercera class, “String fi, objeto cntxt”

    • Cadena fi – Similar tal como se define en el segundo case.
    • cntxt objeto – Este parámetro representa el contexto de seguridad específico del sistema.

class valor:

El tipo case de este método es class , no devuelve nada.

Ejemplo:

// Java program to demonstrate the example 
// of checkRead () method of SecurityManager class
import java.security.*;
import java.io.*;
public class CheckRead extends SecurityManager {
public static void main(String[] args) {
FileDescriptor file_desc = new FileDescriptor();
String fi = "getProperties().doc";
AccessControlContext cntxt = AccessController.getContext();
// By using setProperty() method is to set the policy property
// with security manager
System.setProperty("java.security.policy", "file:/C:/java.policy");
// Instantiating a CheckRead object
CheckRead cr = new CheckRead();
// By using setSecurityManager() method is to set the
// security manager
System.setSecurityManager(cr);
// By using checkRead(FileDescriptor) method is to
//check that read file by using file descriptor
cr.checkRead(file_desc);
// By using checkRead(String) method is to
// check that read file by using String
cr.checkRead(fi);
// By using checkRead(String,cntxt) method is to
// check that read file by using String when cntxt is an
// instance of AccessControlContext
cr.checkRead(fi, cntxt);
// Display the message
System.out.println("Accepted..");
}
}

salida

Exception in thread "main" java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "readFileDescriptor")
at java.base/java.security.AccessControlContext.checkPermission(AccessControlContext.java:472)
at java.base/java.security.AccessController.checkPermission(AccessController.java:897)
at java.base/java.lang.SecurityManager.checkPermission(SecurityManager.java:322)
at java.base/java.lang.SecurityManager.checkRead(SecurityManager.java:637)
at CheckRead.main(CheckRead.java:26)


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *