Object getSecurityContext()
描述 (Description)
java.lang.SecurityManager.getSecurityContext()方法创建一个封装当前执行环境的对象。 例如,通过三参数checkConnect方法和双参数checkRead方法使用此方法的结果。 需要这些方法是因为可以调用受信任的方法来代表另一个方法读取文件或打开套接字。 受信任的方法需要确定是否允许其他(可能是不受信任的)方法自己执行操作。 此方法的默认实现是返回AccessControlContext对象。
声明 (Declaration)
以下是java.lang.SecurityManager.getSecurityContext()方法的声明
public Object getSecurityContext()
参数 (Parameters)
NA
返回值 (Return Value)
此方法返回一个依赖于实现的对象,该对象封装有关当前执行环境的足够信息,以便稍后执行某些安全检查。
异常 (Exception)
NA
例子 (Example)
我们的示例要求阻止每个命令的权限。 设置了一个新的策略文件,该文件仅允许创建和设置我们的安全管理器。 该文件位于C:/java.policy中,包含以下文本 -
grant {
permission java.lang.RuntimePermission "setSecurityManager";
permission java.lang.RuntimePermission "createSecurityManager";
permission java.lang.RuntimePermission "usePolicy";
};
以下示例显示了lang.SecurityManager.getSecurityContext()方法的用法。
package com.iowiki;
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