Class SystemPermission

  • All Implemented Interfaces:
    java.io.Serializable, java.security.Guard

    public final class SystemPermission
    extends java.security.BasicPermission
    This class represents access to system-wide Derby privileges.

    Permission Description Risk
    "jmx" "control" Controls the ability of JMX clients to control Derby and view security sensitive attributes through Derby's MBeans. JMX clients may be able to change the state of the running system
    "jmx" "monitor" Controls the ability of JMX clients to monitor Derby through Derby's MBeans, such as viewing number of current connections and configuration settings. Note: security related settings require control action on jmx JMX clients can see information about a runing system including software versions.
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String CONTROL
      Action ("control") to perform control actions through JMX on engine, server or jmx.
      static java.lang.String ENGINE
      Permission target name ("engine") for actions applicable to the core database engine.
      static SystemPermission ENGINE_MONITOR
      Constant representing SystemPermission("engine, "monitor").
      static java.lang.String JMX
      Permission target name ("jmx") for actions applicable to management of Derby's JMX MBeans.
      static java.lang.String MONITOR
      Action ("monitor") to perform monitoring actions through JMX on engine and server.
      static java.lang.String SERVER
      Permission target name ("server") for actions applicable to the network server.
      static java.lang.String SHUTDOWN
      The server and engine shutdown action ("shutdown").
      static java.lang.String USE_DERBY_INTERNALS
      Action ("useDerbyInternals") by the engine to lookup Derby contexts.
    • Constructor Summary

      Constructors 
      Constructor Description
      SystemPermission​(java.lang.String name, java.lang.String actions)
      Creates a new SystemPermission with the specified name.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean equals​(java.lang.Object other)
      Does this permission equal another object.
      java.lang.String getActions()
      Return the permission's actions in a canonical form.
      boolean implies​(java.security.Permission permission)
      Does this permission imply another.
      java.security.PermissionCollection newPermissionCollection()  
      java.lang.String toString()  
      • Methods inherited from class java.security.BasicPermission

        hashCode
      • Methods inherited from class java.security.Permission

        checkGuard, getName
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • Field Detail

      • SERVER

        public static final java.lang.String SERVER
        Permission target name ("server") for actions applicable to the network server.
        See Also:
        Constant Field Values
      • ENGINE

        public static final java.lang.String ENGINE
        Permission target name ("engine") for actions applicable to the core database engine.
        See Also:
        Constant Field Values
      • JMX

        public static final java.lang.String JMX
        Permission target name ("jmx") for actions applicable to management of Derby's JMX MBeans.
        See Also:
        Constant Field Values
      • SHUTDOWN

        public static final java.lang.String SHUTDOWN
        The server and engine shutdown action ("shutdown").
        See Also:
        Constant Field Values
      • CONTROL

        public static final java.lang.String CONTROL
        Action ("control") to perform control actions through JMX on engine, server or jmx.

        For JMX control permission is required to get attributes that are deemed sensiive from a security aspect, such as the network server's port number, security mechanisms and any information about the file system.

        See Also:
        Constant Field Values
      • MONITOR

        public static final java.lang.String MONITOR
        Action ("monitor") to perform monitoring actions through JMX on engine and server.
        See Also:
        Constant Field Values
      • USE_DERBY_INTERNALS

        public static final java.lang.String USE_DERBY_INTERNALS
        Action ("useDerbyInternals") by the engine to lookup Derby contexts.
        See Also:
        Constant Field Values
      • ENGINE_MONITOR

        public static final SystemPermission ENGINE_MONITOR
        Constant representing SystemPermission("engine, "monitor").
    • Constructor Detail

      • SystemPermission

        public SystemPermission​(java.lang.String name,
                                java.lang.String actions)
        Creates a new SystemPermission with the specified name.
        Parameters:
        name - the name of the SystemPermission
        Throws:
        java.lang.NullPointerException - if name or actions is null
        java.lang.IllegalArgumentException - if name is empty or not a legal SystemPermission
        See Also:
        BasicPermission(String)
    • Method Detail

      • getActions

        public java.lang.String getActions()
        Return the permission's actions in a canonical form.
        Overrides:
        getActions in class java.security.BasicPermission
      • newPermissionCollection

        public java.security.PermissionCollection newPermissionCollection()
        Overrides:
        newPermissionCollection in class java.security.BasicPermission
      • equals

        public boolean equals​(java.lang.Object other)
        Does this permission equal another object. True if its and identical class with same name and (canonical) actions.
        Overrides:
        equals in class java.security.BasicPermission
      • implies

        public boolean implies​(java.security.Permission permission)
        Does this permission imply another. Only true if the other permission is a SystemPermission with the same name and all the actions of the permission are present in this. Note that none of the actions imply any other with this SystemPermission.
        Overrides:
        implies in class java.security.BasicPermission
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.security.Permission