|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object
|
+--java.security.Permission
|
+--javax.management.MBeanPermission
Permission controlling access to MBeanServer operations. If a
security manager has been set using System#setSecurityManager, most operations on the MBean Server
require that the caller's permissions imply an MBeanPermission
appropriate for the operation. This is described in detail in the
documentation for the MBeanServer interface.
As with other Permission objects, an MBeanPermission can
represent either a permission that you have or a
permission that you need. When a sensitive operation is
being checked for permission, an MBeanPermission is constructed
representing the permission you need. The operation is only
allowed if the permissions you have imply the
permission you need.
An MBeanPermission contains four items of information:
The action. For a permission you need,
this is one of the action in the list below. For a permission you have, this is
a comma-separated list of those action, or *,
representing all action.
The action is returned by getActions().
The class name.
For a permission you need, this is the class name of an MBean
you are accessing, as returned by MBeanServer.getMBeanInfo(name).getClassName(). Certain operations do not reference a class name,
in which case the class name is null.
For a permission you have, this is either empty or a class
name pattern. A class name pattern is a string following the
Java conventions for dot-separated class names. It may end with
".*" meaning that the permission grants access to any
class that begins with the string preceding ".*". For
instance, "javax.management.*" grants access to
javax.management.MBeanServerDelegate and
javax.management.timer.Timer, among other classes.
A class name pattern can also be empty or the single character
"*", both of which grant access to any class.
The member.
For a permission you need, this is the name of the attribute or operation you are accessing. For operations that do not reference an attribute or operation, the member is null.
For a permission you have, this is either the name of an attribute
or operation you can access, or it is empty or the single character
"*", both of which grant access to any member.
The object name.
For a permission you need, this is the ObjectName of the
MBean you are accessing. For operations that do not reference a
single MBean, it is null. It is never an object name pattern.
For a permission you have, this is the ObjectName of the
MBean or MBeans you can access. It may be an object name pattern
to grant access to all MBeans whose names match the pattern. It
may also be empty, which grants access to all MBeans whatever their
name.
If you have an MBeanPermission, it allows operations only if all four of the items match.
The class name, member, and object name can be written together
as a single string, which is the name of this permission.
The name of the permission is the string returned by getNameSpace(). The format of the string is:
className#member[objectName]
The object name is written using the usual syntax for ObjectName. It may contain any legal characters, including
]. It is terminated by a ] character
that is the last character in the string.
One or more of the className, member,
or objectName may be omitted. If the
member is omitted, the # may be too (but
does not have to be). If the objectName is omitted,
the [] may be too (but does not have to be). It is
not legal to omit all three items, that is to have a name
that is the empty string.
One or more of the className, member,
or objectName may be the character "-",
which is equivalent to a null value. A null value is implied by
any value (including another null value) but does not imply any
other value.
The possible action are these:
In a comma-separated list of action, spaces are allowed before and after each action.
| Field Summary | |
static java.lang.String |
AddNotificationListener
|
static java.lang.String |
GetAttribute
|
static java.lang.String |
GetClassLoader
|
static java.lang.String |
GetClassLoaderFor
|
static java.lang.String |
GetClassLoaderRepository
|
static java.lang.String |
GetDomains
|
static java.lang.String |
GetMBeanInfo
|
static java.lang.String |
GetObjectInstance
|
static java.lang.String |
Instantiate
|
static java.lang.String |
Invoke
|
static java.lang.String |
IsInstanceOf
|
static java.lang.String |
QueryMBeans
|
static java.lang.String |
QueryNames
|
static java.lang.String |
RegisterMBean
|
static java.lang.String |
RemoveNotificationListener
|
static java.lang.String |
SetAttribute
|
static java.lang.String |
UnregisterMBean
|
| Constructor Summary | |
MBeanPermission(java.lang.String name,
java.lang.String action)
Create a new MBeanPermission object with the specified target name and action. The target name is of the form " className#member[objectName]" where each part is
optional. |
|
MBeanPermission(java.lang.String className,
java.lang.String member,
ObjectName objectName,
java.lang.String action)
Create a new MBeanPermission object with the specified target name (class name, member, object name) and action. The class name, member and object name parameters define a target name of the form " className#member[objectName]" where each part is
optional. |
|
| Method Summary | |
boolean |
equals(java.lang.Object obj)
Checks two MBeanPermission objects for equality. |
java.lang.String |
getActions()
|
int |
hashCode()
Returns the hash code value for this object. |
boolean |
implies(java.security.Permission p)
|
static void |
main(java.lang.String[] args)
|
| Methods inherited from class java.security.Permission |
checkGuard, getName, newPermissionCollection, toString |
| Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Field Detail |
public static final java.lang.String AddNotificationListener
public static final java.lang.String GetAttribute
public static final java.lang.String GetClassLoader
public static final java.lang.String GetClassLoaderFor
public static final java.lang.String GetClassLoaderRepository
public static final java.lang.String GetDomains
public static final java.lang.String GetMBeanInfo
public static final java.lang.String GetObjectInstance
public static final java.lang.String Instantiate
public static final java.lang.String Invoke
public static final java.lang.String IsInstanceOf
public static final java.lang.String QueryMBeans
public static final java.lang.String QueryNames
public static final java.lang.String RegisterMBean
public static final java.lang.String RemoveNotificationListener
public static final java.lang.String SetAttribute
public static final java.lang.String UnregisterMBean
| Constructor Detail |
public MBeanPermission(java.lang.String name,
java.lang.String action)
Create a new MBeanPermission object with the specified target name and action.
The target name is of the form
"className#member[objectName]" where each part is
optional. It must not be empty or null.
The action parameter contains a comma-separated list of the desired action granted on the target name. It must not be empty or null.
name - the triplet "className#member[objectName]".action - the action string.java.lang.IllegalArgumentException - if the name or
action is invalid.
public MBeanPermission(java.lang.String className,
java.lang.String member,
ObjectName objectName,
java.lang.String action)
Create a new MBeanPermission object with the specified target name (class name, member, object name) and action.
The class name, member and object name parameters define a
target name of the form
"className#member[objectName]" where each part is
optional. This will be the result of Permission.getName() on the
resultant MBeanPermission.
The action parameter contains a comma-separated list of the desired action granted on the target name. It must not be empty or null.
className - the class name to which this permission applies.
May be null or "-", which represents a class name
that is implied by any class name but does not imply any other
class name.member - the member to which this permission applies. May
be null or "-", which represents a member that is
implied by any member but does not imply any other member.objectName - the object name to which this permission
applies. May be null, which represents an object name that is
implied by any object name but does not imply any other object
name.action - the action string.| Method Detail |
public boolean implies(java.security.Permission p)
implies in class java.security.Permissionpublic java.lang.String getActions()
getActions in class java.security.Permissionpublic int hashCode()
hashCode in class java.security.Permissionpublic boolean equals(java.lang.Object obj)
equals in class java.security.Permissionobj - the object we are testing for equality with this object.public static void main(java.lang.String[] args)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||