java.lang.Object
java.security.Permission
java.security.BasicPermission
java.sql.SQLPermission
- 所有已实现的接口:
Serializable,Guard
SecurityManager 将在启用 SecurityManager 的应用程序的代码调用 DriverManager.deregisterDriver 方法、DriverManager.setLogWriter 方法、DriverManager.setLogStream(已弃用)方法、SyncFactory.setJNDIContext 方法、SyncFactory.setLogger 方法、Connection.setNetworkTimeout 方法或 Connection.abort 方法时检查的权限.如果没有 SQLPermission 对象,这些方法将抛出 java.lang.SecurityException 作为运行时异常。
SQLPermission 对象包含一个名称(也称为“目标名称”)但没有操作列表;要么有命名权限,要么没有。目标名称是权限的名称(见下文)。命名约定遵循分层属性命名约定。此外,星号可能会出现在名称的末尾,跟在“.”之后,或者单独出现,以表示通配符匹配。例如:loadLibrary.* 和 * 表示通配符匹配,而 *loadLibrary 和 a*b 则不是。
下表列出了所有可能的 SQLPermission 目标名称。该表描述了权限允许的内容,并讨论了授予代码权限的风险。
| 权限目标名称 | 权限允许什么 | 允许此权限的风险 |
|---|---|---|
| setLog | 日志流的设置 | 这是授予的危险权限。日志的内容可能包含用户名和密码、SQL 语句和 SQL 数据。 |
| 调用中止 | 允许调用 Connection 方法 abort |
允许应用程序终止与数据库的物理连接。 |
| setSyncFactory | 允许调用 SyncFactory 方法 setJNDIContext 和 setLogger |
允许应用程序指定可以从中检索 SyncProvider 实现的 JNDI 上下文以及 SyncProvider 实现要使用的日志记录对象。 |
| setNetworkTimeout | 允许调用 Connection 方法 setNetworkTimeout |
允许应用程序指定最长期限 Connection 或从 Connection 创建的对象将等待数据库回复任何一个请求。 |
| deregisterDriver | 允许调用 DriverManager 方法 deregisterDriver |
允许应用程序从已注册驱动程序列表中删除 JDBC 驱动程序并释放其资源。 |
- 自从:
- 1.3
- 参见:
-
构造方法总结
构造方法构造方法描述SQLPermission(String name) 创建具有指定名称的新SQLPermission对象。SQLPermission(String name, String actions) 创建具有指定名称的新SQLPermission对象。 -
方法总结
在类 java.security.BasicPermission 中声明的方法
equals, getActions, hashCode, implies, newPermissionCollection在类 java.security.Permission 中声明的方法
checkGuard, getName, toString
-
构造方法详细信息
-
SQLPermission
创建具有指定名称的新SQLPermission对象。该名称是SQLPermission的符号名称。- 参数:
name- 此SQLPermission对象的名称,它必须是setLog、callAbort、setSyncFactory、deregisterDriver或setNetworkTimeout- 抛出:
NullPointerException- 如果name是null。IllegalArgumentException- 如果name为空。
-
SQLPermission
创建具有指定名称的新SQLPermission对象。名称是SQLPermission的符号名称;操作String当前未使用,应该是null。- 参数:
name- 此SQLPermission对象的名称,它必须是setLog、callAbort、setSyncFactory、deregisterDriver或setNetworkTimeoutactions- 应该是null- 抛出:
NullPointerException- 如果name是null。IllegalArgumentException- 如果name为空。
-