java.lang.Object
java.security.Permission
java.security.BasicPermission
java.sql.SQLPermission
- All Implemented Interfaces:
Serializable,Guard
The permission for which the
SecurityManager 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. ASQLPermission 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 possibleSQLPermission 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 theConnection methodabort | Permits an application to terminate a physical connection to a database. |
| setSyncFactory | Allows the invocation of theSyncFactory methodssetJNDIContext andsetLogger | Permits an application to specify the JNDI context from which theSyncProvider implementations can be retrieved from and the logging object to be used by theSyncProvider implementation. |
| setNetworkTimeout | Allows the invocation of theConnection methodsetNetworkTimeout | Permits an application to specify the maximum period aConnection or objects created from theConnection will wait for the database to reply to any one request. |
| deregisterDriver | Allows the invocation of theDriverManager methodderegisterDriver | Permits an application to remove a JDBC driver from the list of registered Drivers and release its resources. |
Constructor Summary
ConstructorsConstructorDescriptionSQLPermission(String name) Creates a newSQLPermissionobject with the specified name.SQLPermission(String name,String actions) Creates a newSQLPermissionobject with the specified name.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
Creates a newSQLPermissionobject with the specified name. The name is the symbolic name of theSQLPermission.- Parameters:
name- the name of thisSQLPermissionobject, which must be eithersetLog,callAbort,setSyncFactory,deregisterDriver, orsetNetworkTimeout- Throws:
NullPointerException- ifnameisnull.IllegalArgumentException- ifnameis empty.
SQLPermission
Creates a newSQLPermissionobject with the specified name. The name is the symbolic name of theSQLPermission; the actionsStringis currently unused and should benull.- Parameters:
name- the name of thisSQLPermissionobject, which must be eithersetLog,callAbort,setSyncFactory,deregisterDriver, orsetNetworkTimeoutactions- should benull- Throws:
NullPointerException- ifnameisnull.IllegalArgumentException- ifnameis empty.