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