java.lang.Object java.security.Permission java.security.BasicPermission java.sql.SQLPermission
public final class SQLPermission
SecurityManager
将用来检查在 applet 中运行的代码何时调用 DriverManager.setLogWriter
方法或 DriverManager.setLogStream
(不建议使用)方法的权限。如果不存在 SQLPermission
对象,则这些方法将抛出 java.lang.SecurityException
作为运行时异常。
SQLPermission
对象包含一个名称(也称为“目标名称”),但没有动作列表;可能有指定的权限,也可能没有。目标名称是权限的名称(参见下面内容)。命名约定遵守层次结构属性命名约定。此外,名称的末尾可能有一个星号,星号前有一个 ".",该星号用来表示通配符。例如:loadLibrary.*
或 *
是有效的,而 *loadLibrary
或 a*b
则无效。
下表列出了所有可能的 SQLPermission
目标名称。目前,只有 setLog
是允许的名称。该表提供了允许权限的说明,并讨论了授权代码权限的风险。
权限目标名称 | 允许的权限 | 允许此权限所带来的风险 |
---|---|---|
setLog | 日志流的设置 | 授予该权限是危险的。日志的内容可能包含用户名和密码、SQL 语句和 SQL 数据。 |
Policy Tool
在策略文件中创建
SQLPermission
。程序员不是直接使用构造方法来创建
SQLPermission
实例,而是使用工具进行创建。
BasicPermission
,
Permission
,
Permissions
,
PermissionCollection
,
SecurityManager
,
序列化表格
构造方法摘要 | |
---|---|
SQLPermission(String name) 创建具有指定名称的新 SQLPermission 对象。 |
|
SQLPermission(String name, String actions) 创建具有指定名称的新 SQLPermission 对象。 |
方法摘要 |
---|
从类 java.security.BasicPermission 继承的方法 |
---|
equals, getActions, hashCode, implies, newPermissionCollection |
从类 java.security.Permission 继承的方法 |
---|
checkGuard, getName, toString |
从类 java.lang.Object 继承的方法 |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
构造方法详细信息 |
---|
public SQLPermission(String name)
SQLPermission
对象。该名称是
SQLPermission
的符号名;目前只有 "setLog" 是允许的名称。
name
- 此
SQLPermission
对象的名称,该名称必须为
setLog
NullPointerException
- 如果
name
为
null
。
IllegalArgumentException
- 如果
name
为空。
public SQLPermission(String name, String actions)
SQLPermission
对象。该 name 是
SQLPermission
的符号名;目前未使用 actions
String
,应该为
null
。
name
- 此
SQLPermission
对象的名称,该名称必须为
setLog
actions
- 应该为
null
NullPointerException
- 如果
name
为
null
。
IllegalArgumentException
- 如果
name
为空。