Class SQLPermission
- java.lang.Object
-
- java.security.Permission
-
- java.security.BasicPermission
-
- java.sql.SQLPermission
-
- All Implemented Interfaces:
- Serializable, Guard
public final class SQLPermission extends BasicPermission
The permission for which theSecurityManager
will check when code that is running an application with aSecurityManager
enabled, calls theDriverManager.deregisterDriver
method,DriverManager.setLogWriter
method,DriverManager.setLogStream
(deprecated) method,SyncFactory.setJNDIContext
method,SyncFactory.setLogger
method,Connection.setNetworktimeout
method, or theConnection.abort
method. If there is noSQLPermission
object, these methods throw ajava.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.*
and*
signify a wildcard match, while*loadLibrary
anda*b
do not.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
methodabort
Permits an application to terminate a physical connection to a database. setSyncFactory Allows the invocation of the SyncFactory
methodssetJNDIContext
andsetLogger
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 theSyncProvider
implementation.setNetworkTimeout Allows the invocation of the Connection
methodsetNetworkTimeout
Permits an application to specify the maximum period a Connection
or objects created from theConnection
will wait for the database to reply to any one request.deregisterDriver Allows the invocation of the DriverManager
methodderegisterDriver
Permits an application to remove a JDBC driver from the list of registered Drivers and release its resources. - Since:
- 1.3
- See Also:
-
BasicPermission
,Permission
,Permissions
,PermissionCollection
,SecurityManager
, Serialized Form
-
-
Constructor Summary
Constructors Constructor and Description SQLPermission(String name)
Creates a newSQLPermission
object with the specified name.SQLPermission(String name, String actions)
Creates a newSQLPermission
object with the specified name.
-
Method Summary
-
Methods inherited from class java.security.BasicPermission
equals, getActions, hashCode, implies, newPermissionCollection
-
Methods inherited from class java.security.Permission
checkGuard, getName, toString
-
-
-
-
Constructor Detail
SQLPermission
public SQLPermission(String name)
Creates a newSQLPermission
object with the specified name. The name is the symbolic name of theSQLPermission
.- Parameters:
-
name
- the name of thisSQLPermission
object, which must be eithersetLog
,callAbort
,setSyncFactory
,deregisterDriver
, orsetNetworkTimeout
- Throws:
-
NullPointerException
- ifname
isnull
. -
IllegalArgumentException
- ifname
is empty.
SQLPermission
public SQLPermission(String name, String actions)
Creates a newSQLPermission
object with the specified name. The name is the symbolic name of theSQLPermission
; the actionsString
is currently unused and should benull
.- Parameters:
-
name
- the name of thisSQLPermission
object, which must be eithersetLog
,callAbort
,setSyncFactory
,deregisterDriver
, orsetNetworkTimeout
-
actions
- should benull
- Throws:
-
NullPointerException
- ifname
isnull
. -
IllegalArgumentException
- ifname
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, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.