org.apache.derby.security
Class SystemPermission

java.lang.Object
  extended by java.security.Permission
      extended by java.security.BasicPermission
          extended by org.apache.derby.security.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
private  java.lang.String actions
          Actions for this permission.
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 java.lang.String JMX
          Permission target name ("jmx") for actions applicable to management of Derby's JMX MBeans.
private static java.util.List LEGAL_ACTIONS
          Set of legal actions in their canonical form.
private static java.util.Set LEGAL_NAMES
          The legal system permission names.
static java.lang.String MONITOR
          Action ("monitor") to perform monitoring actions through JMX on engine and server.
private static long serialVersionUID
           
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").
 
Constructor Summary
SystemPermission(java.lang.String name, java.lang.String actions)
          Creates a new SystemPermission with the specified name.
 
Method Summary
 boolean equals(java.lang.Object other)
          Does this permission equal another object.
private static int getActionMask(java.lang.String actions)
          Get a mask of bits that represents the actions and can be used for the implies method.
 java.lang.String getActions()
          Return the permission's actions in a canonical form.
private static java.lang.String getCanonicalForm(java.lang.String actions)
          Return a canonical form of the passed in actions.
 boolean implies(java.security.Permission permission)
          Does this permission imply another.
 
Methods inherited from class java.security.BasicPermission
hashCode, newPermissionCollection
 
Methods inherited from class java.security.Permission
checkGuard, getName, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

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

LEGAL_NAMES

private static final java.util.Set LEGAL_NAMES
The legal system permission names.


LEGAL_ACTIONS

private static final java.util.List LEGAL_ACTIONS
Set of legal actions in their canonical form.


actions

private final java.lang.String actions
Actions for this permission.

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 is null
java.lang.IllegalArgumentException - if name is empty or not a legal SystemPermission
See Also:
BasicPermission.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

getCanonicalForm

private static java.lang.String getCanonicalForm(java.lang.String actions)
Return a canonical form of the passed in actions. Actions are lower-cased, in the order of LEGAL_ACTIONS and on;ly appear once.


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

getActionMask

private static int getActionMask(java.lang.String actions)
Get a mask of bits that represents the actions and can be used for the implies method.


Built on Thu 2011-03-10 11:54:14+0000, from revision ???

Apache Derby V10.6 Internals - Copyright © 2004,2007 The Apache Software Foundation. All Rights Reserved.