模块 java.sql
 java.sql

类 SQLPermission

所有已实现的接口:
Serializable , Guard

public final class SQLPermission extends BasicPermission
SecurityManager 将在启用 SecurityManager 的应用程序的代码调用 DriverManager.deregisterDriver 方法、DriverManager.setLogWriter 方法、DriverManager.setLogStream(已弃用)方法、SyncFactory.setJNDIContext 方法、SyncFactory.setLogger 方法、Connection.setNetworkTimeout 方法或 Connection.abort 方法时检查的权限.如果没有 SQLPermission 对象,这些方法将抛出 java.lang.SecurityException 作为运行时异常。

SQLPermission 对象包含一个名称(也称为“目标名称”)但没有操作列表;要么有命名权限,要么没有。目标名称是权限的名称(见下文)。命名约定遵循分层属性命名约定。此外,星号可能会出现在名称的末尾,跟在“.”之后,或者单独出现,以表示通配符匹配。例如:loadLibrary.** 表示通配符匹配,而 *loadLibrarya*b 则不是。

下表列出了所有可能的 SQLPermission 目标名称。该表描述了权限允许的内容,并讨论了授予代码权限的风险。

权限目标名称、权限允许的内容以及相关风险
权限目标名称 权限允许什么 允许此权限的风险
setLog 日志流的设置 这是授予的危险权限。日志的内容可能包含用户名和密码、SQL 语句和 SQL 数据。
调用中止 允许调用 Connection 方法 abort 允许应用程序终止与数据库的物理连接。
setSyncFactory 允许调用 SyncFactory 方法 setJNDIContextsetLogger 允许应用程序指定可以从中检索 SyncProvider 实现的 JNDI 上下文以及 SyncProvider 实现要使用的日志记录对象。
setNetworkTimeout 允许调用 Connection 方法 setNetworkTimeout 允许应用程序指定最长期限 Connection 或从 Connection 创建的对象将等待数据库回复任何一个请求。
deregisterDriver 允许调用 DriverManager 方法 deregisterDriver 允许应用程序从已注册驱动程序列表中删除 JDBC 驱动程序并释放其资源。
自从:
1.3
参见:
  • 构造方法详细信息

    • SQLPermission

      public SQLPermission(String  name)
      创建具有指定名称的新 SQLPermission 对象。该名称是 SQLPermission 的符号名称。
      参数:
      name - 此 SQLPermission 对象的名称,它必须是 setLogcallAbortsetSyncFactoryderegisterDriversetNetworkTimeout
      抛出:
      NullPointerException - 如果 namenull
      IllegalArgumentException - 如果 name 为空。
    • SQLPermission

      public SQLPermission(String  name, String  actions)
      创建具有指定名称的新 SQLPermission 对象。名称是 SQLPermission 的符号名称;操作 String 当前未使用,应该是 null
      参数:
      name - 此 SQLPermission 对象的名称,它必须是 setLogcallAbortsetSyncFactoryderegisterDriversetNetworkTimeout
      actions - 应该是 null
      抛出:
      NullPointerException - 如果 namenull
      IllegalArgumentException - 如果 name 为空。