当前位置 类层次(JDK) 所有类(JDK) 所有域和方法(JDK)

类 java.rmi.RMISecurityManager

java.lang.Object
   |
   +----java.lang.SecurityManager
           |
           +----java.rmi.RMISecurityManager

public class RMISecurityManager
extends SecurityManager

此类定义了 RMI 应用程序的缺省安全策略(非 applets)。对类装入程序(class loader)装入的程序代码,安全管理器使除类定义和访问函数外的所有函数失效。 可用此类的子类实现不同的策略。 要设置一个 RMISecurityManager,必须在应用程序的方法 main() 中添加请求代码: System.setSecurityManager(new RMISecurityManager()); 如果未设置安全性管理器, RMI 就只从 CLASSPATH 定义的本地系统文件中加载类。


构造子索引

RMISecurityManager()
构造并初始化。

方法索引

checkAccept(String, int)
目前加载的类还不能在任何端口接受连接。
checkAccess(Thread)
不允许被加载的类操纵线程。
checkAccess(ThreadGroup)
不允许被加载的类操纵线程组。
checkAwtEventQueueAccess()
检查客户机是否能访问 AWT 事件队列(被加载的类不允许此操作)。
checkConnect(String, int)
被加载的类可以建立连接,只要是由 RMI 传送的调用。
checkConnect(String, int, Object)
被加载的类可以建立连接,只要是由 RMI 传送的调用。
checkCreateClassLoader()
不允许被加载的类生成类装入程序,也不允许执行任何类装入方法。
checkDelete(String)
检查文件名依赖于特定系统的文件能否被删除。
checkExec(String)
不允许被加载的类创建新进程。
checkExit(int)
不允许被加载的类退出 VM(虚拟机)。
checkLink(String)
不允许被加载的类连接动态链接库。
checkListen(int)
目前,已加载的类还不能在任何端口 listen。
checkMemberAccess(Class, int)
检查客户机能否逆向访问指定类的成员或成员集。
checkMulticast(InetAddress)
检查看当前执行上下文是否允许使用 (加入/离开/发送/接收) IP 广播(不允许被加载类使用)。
checkMulticast(InetAddress, byte)
检查看当前执行上下文是否允许使用 (加入/离开/发送/接收) IP 广播(不允许被加载类使用)。
checkPackageAccess(String)
检查被加载类能否存取信息包。
checkPackageDefinition(String)
检查被加载类能否在程序包中定义类。
checkPrintJobAccess()
取消被加载类的打印许可。
checkPropertiesAccess()
不允许被加载的类访问系统属性表。
checkPropertyAccess(String)
只有当被加载类的 twin key.rmi 属性被设置为 true 时,它才能访问名为 key 的系统属性。
checkRead(FileDescriptor)
不允许被加载类打开描述程序(descriptor)进行读操作,除非是通过套接字(socket)实现的,在这种情况下,其它访问限制仍然生效。
checkRead(String)
检查被加载类能否读取特定的文件。
checkRead(String, Object)
文件读取操作对被加载类无效。
checkSecurityAccess(String)
被加载类不能进行提供安全性(security provider)操作。
checkSetFactory()
检查被加载类能否设置与网络相关的对象工厂。
checkSystemClipboardAccess()
检查客户机是否能访问 System Clipboard(不允许被加载类进行此操作)。
checkTopLevelWindow(Object)
允许调用者生成顶层窗口。
checkWrite(FileDescriptor)
被加载类不允许打开描述程序(descriptor)进行写操作,除非是通过套接字(socket)实现的,在这种情况下,其它访问限制仍然生效。
checkWrite(String)
检查被加载类能否写特定的文件。
getSecurityContext()
返回安全性上下文(例如, 一个 URL)。

构造子

RMISecurityManager
 public RMISecurityManager()
构造并初始化。


方法

getSecurityContext
 public Object getSecurityContext()
返回安全性上下文(例如, 一个 URL)。

覆盖:
getSecurityContext in class SecurityManager
checkCreateClassLoader
 public synchronized void checkCreateClassLoader()
不允许被加载的类生成类装入程序,也不允许执行任何类装入方法。

覆盖:
checkCreateClassLoader in class SecurityManager
checkAccess
 public synchronized void checkAccess(Thread t)
不允许被加载的类操纵线程。

覆盖:
checkAccess in class SecurityManager
checkAccess
 public synchronized void checkAccess(ThreadGroup g)
不允许被加载的类操纵线程组。

覆盖:
checkAccess in class SecurityManager
checkExit
 public synchronized void checkExit(int status)
不允许被加载的类退出 VM(虚拟机)。

覆盖:
checkExit in class SecurityManager
checkExec
 public synchronized void checkExec(String cmd)
不允许被加载的类创建新进程。

覆盖:
checkExec in class SecurityManager
checkLink
 public synchronized void checkLink(String lib)
不允许被加载的类连接动态链接库。

覆盖:
checkLink in class SecurityManager
checkPropertiesAccess
 public synchronized void checkPropertiesAccess()
不允许被加载的类访问系统属性表。

覆盖:
checkPropertiesAccess in class SecurityManager
checkPropertyAccess
 public synchronized void checkPropertyAccess(String key)
只有当被加载类的 twin key.rmi 属性被设置为 true 时,它才能访问名为 key 的系统属性。 例如,只有 java.home.rmitrue 时,属性 java.home 才能被加载类读取。

覆盖:
checkPropertyAccess in class SecurityManager
checkRead
 public synchronized void checkRead(String file)
检查被加载类能否读取特定的文件。

覆盖:
checkRead in class SecurityManager
checkRead
 public void checkRead(String file,
                       Object context)
文件读取操作对被加载类无效。

抛出: RMISecurityException
如果是被加载类呼叫。
覆盖:
checkRead in class SecurityManager
checkWrite
 public synchronized void checkWrite(String file)
检查被加载类能否写特定的文件。

抛出: RMISecurityException
如果是被加载类呼叫。
覆盖:
checkWrite in class SecurityManager
checkDelete
 public void checkDelete(String file)
检查文件名依赖于特定系统的文件能否被删除。

参数:
file - 依赖于系统的文件名。
抛出: RMISecurityException
如果不能找到此文件。
覆盖:
checkDelete in class SecurityManager
checkRead
 public synchronized void checkRead(FileDescriptor fd)
不允许被加载类打开描述程序(descriptor) 进行读操作,除非是通过套接字(socket)实现的,在这种情况下,其它访问限制仍然生效。

覆盖:
checkRead in class SecurityManager
checkWrite
 public synchronized void checkWrite(FileDescriptor fd)
不允许被加载类打开描述程序(descriptor)进行写操作,除非是通过套接字实现的,在这种情况下,其它访问限制仍然生效。

覆盖:
checkWrite in class SecurityManager
checkListen
 public synchronized void checkListen(int port)
目前,已加载的类还不能在任何端口监听。

覆盖:
checkListen in class SecurityManager
checkAccept
 public synchronized void checkAccept(String host,
                                      int port)
到目前,已加载的类还不能在任何端口接受连接。

覆盖:
checkAccept in class SecurityManager
checkMulticast
 public void checkMulticast(InetAddress maddr)
检查看当前执行上下文是否允许使用 (加入/离开/发送/接收) IP 广播(不允许被加载类使用)。

覆盖:
checkMulticast in class SecurityManager
checkMulticast
 public void checkMulticast(InetAddress maddr,
                            byte ttl)
检查看当前执行上下文是否允许使用 (加入/离开/发送/接收) IP 广播(不允许被加载类使用)。

覆盖:
checkMulticast in class SecurityManager
checkConnect
 public synchronized void checkConnect(String host,
                                       int port)
被加载的类可以建立连接,只要是由 RMI 传送呼叫。

覆盖:
checkConnect in class SecurityManager
checkConnect
 public void checkConnect(String host,
                          int port,
                          Object context)
被加载的类可以建立连接,只要是由 RMI 传送呼叫。

覆盖:
checkConnect in class SecurityManager
checkTopLevelWindow
 public synchronized boolean checkTopLevelWindow(Object window)
允许调用者生成顶层窗口。允许被加载的类生成带警告的窗口。

覆盖:
checkTopLevelWindow in class SecurityManager
checkPackageAccess
 public synchronized void checkPackageAccess(String pkg)
检查被加载类能否存取信息包。

覆盖:
checkPackageAccess in class SecurityManager
checkPackageDefinition
 public synchronized void checkPackageDefinition(String pkg)
检查被加载类能否在程序包中定义类。

覆盖:
checkPackageDefinition in class SecurityManager
checkSetFactory
 public synchronized void checkSetFactory()
检查被加载类能否设置与网络相关的对象工厂。

覆盖:
checkSetFactory in class SecurityManager
checkPrintJobAccess
 public void checkPrintJobAccess()
取消被加载类的打印许可。

覆盖:
checkPrintJobAccess in class SecurityManager
checkSystemClipboardAccess
 public void checkSystemClipboardAccess()
检查客户机是否能访问 System Clipboard(不允许被加载类进行此操作)。

覆盖:
checkSystemClipboardAccess in class SecurityManager
checkAwtEventQueueAccess
 public void checkAwtEventQueueAccess()
检查客户机是否能访问 AWT 事件队列(被加载的类不允许此操作).

覆盖:
checkAwtEventQueueAccess in class SecurityManager
checkMemberAccess
 public void checkMemberAccess(Class clazz,
                               int which)
检查客户机能否逆向访问指定类的成员或成员集。一旦授与了初始访问权,则可以查询映射(reflected)成员以获取得标识信息,但只能通过标准 Java 语言存取控制函数 查询 (通过 get, set, invoke, 或 newInstance)。

该策略是削减 untrusted 客户机对类的 declared 成员的存取权限,而不影响使用相同类装入程序的其它客户机。所有其它访问都得到许可。

覆盖:
checkMemberAccess in class SecurityManager
checkSecurityAccess
 public void checkSecurityAccess(String provider)
被加载类不能进行提供安全性(security provider)操作。

覆盖:
checkSecurityAccess in class SecurityManager

当前位置 类层次(JDK) 所有类(JDK) 所有域和方法(JDK)