public final class SQLPermission extends BasicPermission
SecurityManager
will check
when code that is running in an applet, or an application with a
SecurityManager
enabled, calls the
DriverManager.setLogWriter
method,
DriverManager.setLogStream
(deprecated) method,
SyncFactory.setJNDIContext
method,
SyncFactory.setLogger
method,
Connection.setNetworktimeout
method,
or the Connection.abort
method.
If there is no SQLPermission
object, these methods
throw a java.lang.SecurityException
as a runtime exception.
A SQLPermission
object contains
a name (also referred to as a "target name") but no actions
list; there is either a named permission or there is not.
The target name is the name of the permission (see below). The
naming convention follows the hierarchical property naming convention.
In addition, an asterisk
may appear at the end of the name, following a ".", or by itself, to
signify a wildcard match. For example: loadLibrary.*
or *
is valid,
but *loadLibrary
or a*b
is not valid.
The following table lists all the possible SQLPermission
target names.
The table gives a description of what the permission allows
and a discussion of the risks of granting code the permission.
Permission Target Name | What the Permission Allows | Risks of Allowing this Permission |
---|---|---|
setLog | Setting of the logging stream | This is a dangerous permission to grant. The contents of the log may contain usernames and passwords, SQL statements, and SQL data. |
callAbort | Allows the invocation of the Connection method
abort |
Permits an application to terminate a physical connection to a database. |
setSyncFactory | Allows the invocation of the SyncFactory methods
setJNDIContext and setLogger |
Permits an application to specify the JNDI context from which the
SyncProvider implementations can be retrieved from and the logging
object to be used by the SyncProvider implementation. |
setNetworkTimeout | Allows the invocation of the Connection method
setNetworkTimeout |
Permits an application to specify the maximum period a
Connection or
objects created from the Connection
will wait for the database to reply to any one request. |
The person running an applet decides what permissions to allow
and will run the Policy Tool
to create an
SQLPermission
in a policy file. A programmer does
not use a constructor directly to create an instance of SQLPermission
but rather uses a tool.
BasicPermission
,
Permission
,
Permissions
,
PermissionCollection
,
SecurityManager
,
Serialized FormConstructor and Description |
---|
SQLPermission(String name)
Creates a new
SQLPermission object with the specified name. |
SQLPermission(String name,
String actions)
Creates a new
SQLPermission object with the specified name. |
equals, getActions, hashCode, implies, newPermissionCollection
checkGuard, getName, toString
public SQLPermission(String name)
SQLPermission
object with the specified name.
The name is the symbolic name of the SQLPermission
; currently,
the only name allowed is "setLog".name
- the name of this SQLPermission
object, which must
be setLog
NullPointerException
- if name
is null
.IllegalArgumentException
- if name
is empty.public SQLPermission(String name, String actions)
SQLPermission
object with the specified name.
The name is the symbolic name of the SQLPermission
; the
actions String
is currently unused and should be
null
.name
- the name of this SQLPermission
object, which must
be setLog
actions
- should be null
NullPointerException
- if name
is null
.IllegalArgumentException
- if name
is empty. Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2011, Oracle and/or its affiliates. All rights reserved.
DRAFT ea-b138