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
ConstructorsConstructorDescriptionSQLPermission(String name) 使用指定的名称创建一个新的SQLPermission对象。SQLPermission(String name, String actions) 使用指定的名称创建一个新的SQLPermission对象。 -
Method Summary
Methods declared in class java.security.BasicPermission
equals, getActions, hashCode, implies, newPermissionCollectionMethods 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为空。
-