SecurityManager getSecurityContext() 方法

描述

java.lang.SecurityManager.getSecurityContext() 方法创建一个封装当前执行环境的对象。 例如,三参数 checkConnect 方法和二参数 checkRead 方法使用此方法的结果。 这些方法是必需的,因为可以调用受信任的方法来读取文件或代表另一个方法打开套接字。 受信任的方法需要确定是否允许其他(可能不受信任的)方法自行执行操作。 此方法的默认实现是返回一个 AccessControlContext 对象。


声明

以下是 java.lang.SecurityManager.getSecurityContext() 方法的声明。

public Object getSecurityContext()

参数

NA


返回值

此方法返回一个依赖于实现的对象,该对象封装了有关当前执行环境的足够信息,以便稍后执行一些安全检查。


异常

NA


示例

我们的示例要求阻止每个命令的权限。 设置了一个新的策略文件,它只允许创建和设置我们的安全管理器。 该文件位于 C:/java.policy 并包含以下文本 −

grant {
   permission java.lang.RuntimePermission "setSecurityManager";
   permission java.lang.RuntimePermission "createSecurityManager";
   permission java.lang.RuntimePermission "usePolicy";
};

下面的例子展示了 lang.SecurityManager.getSecurityContext() 方法的使用。

package com.tutorialspoint;

public class SecurityManagerDemo {

   public static void main(String[] args) {

      // set the policy file as the system securuty policy
      System.setProperty("java.security.policy", "file:/C:/java.policy");

      // create a security manager
      SecurityManager sm = new SecurityManager();

      // set the system security manager
      System.setSecurityManager(sm);

      // get the security context
      Object con = sm.getSecurityContext();

      // print the class context
      System.out.println("" + con);
   }
}

让我们编译并运行上面的程序,这将产生下面的结果 −

java.security.AccessControlContext@5f186fab