Module java.sql
Package java.sql

Class SQLPermission

  • All Implemented Interfaces:
    Serializable, Guard

    public final class SQLPermission
    extends BasicPermission
    The permission for which the SecurityManager will check when code that is running an application with a SecurityManager enabled, calls the DriverManager.deregisterDriver method, 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.* and * signify a wildcard match, while *loadLibrary and a*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, and associated risks
    Permission Target NameWhat the Permission AllowsRisks of Allowing this Permission
    setLogSetting of the logging streamThis is a dangerous permission to grant. The contents of the log may contain usernames and passwords, SQL statements, and SQL data.
    callAbortAllows the invocation of the Connection method abortPermits an application to terminate a physical connection to a database.
    setSyncFactoryAllows the invocation of the SyncFactory methods setJNDIContext and setLoggerPermits 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.
    setNetworkTimeoutAllows the invocation of the Connection method setNetworkTimeoutPermits 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.
    deregisterDriverAllows the invocation of the DriverManager method deregisterDriverPermits 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 Detail

      • SQLPermission

        public SQLPermission​(String name)
        Creates a new SQLPermission object with the specified name. The name is the symbolic name of the SQLPermission.
        Parameters:
        name - the name of this SQLPermission object, which must be either setLog, callAbort, setSyncFactory, deregisterDriver, or setNetworkTimeout
        Throws:
        NullPointerException - if name is null.
        IllegalArgumentException - if name is empty.
      • SQLPermission

        public SQLPermission​(String name,
                             String actions)
        Creates a new 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.
        Parameters:
        name - the name of this SQLPermission object, which must be either setLog, callAbort, setSyncFactory, deregisterDriver, or setNetworkTimeout
        actions - should be null
        Throws:
        NullPointerException - if name is null.
        IllegalArgumentException - if name is empty.

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部