- 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 in an applet, or an application with aSecurityManager
enabled, calls theDriverManager.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.*
or*
is valid, but*loadLibrary
ora*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
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.The person running an applet decides what permissions to allow and will run the
Policy Tool
to create anSQLPermission
in a policy file. A programmer does not use a constructor directly to create an instance ofSQLPermission
but rather uses a tool.- 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
, 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
, orsetNetworkTimeout
actions
- should benull
- Throws:
NullPointerException
- ifname
isnull
.IllegalArgumentException
- ifname
is empty.
-
-
Document created the 11/06/2005, last modified the 04/03/2020
Source of the printed document:https://www.gaudry.be/en/java-api-rf-java/sql/sqlpermission.html
The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.
References
These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author This site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.