public class MBeanPermission extends Permission
权限控制访问的MBeanServer操作。如果安全管理器已经被设置为使用System.setSecurityManager(java.lang.SecurityManager)
MBean服务器,在大多数操作要求调用者的权限意味着mbeanpermission适合操作。这是详细介绍了文件的MBeanServer
接口。
与其他Permission
对象,一个mbeanpermission可以表示一个权限,你或许可,你需要。当一个敏感的操作在检查权限,构建了一mbeanpermission代表你需要的权限。操作只允许如果你有imply你需要的许可权限。
一个mbeanpermission包含四条信息:
行动。你需要一个许可,这是一个列表中的below行动。一个允许你,这是一个以逗号分隔的列表,这些行动,或*
,代表所有的行动。
行动是由getActions()
。
类名称。
你需要一个许可,这是一个MBean您访问类的名称,返回的MBeanServer.getMBeanInfo(name)
.getClassName()
。某些操作不引用的类的名称,在这种情况下,类的名字是空的。
对于您的权限,这是一个空的或一个类名称模式。类名称的模式是继java约定点分离的类名称的字符串。最后很可能“.*
”意味着权限授予访问任何类,从字符串前面的“.*
”。例如,“javax.management.*
“授予访问javax.management.MBeanServerDelegate
和javax.management.timer.Timer
,其他类。
类名称的模式也可以是空的或单个字符“*
”,均授予访问权限的任何类。
会员。
对于您需要的权限,这是您正在访问的属性或操作的名称。对于不引用属性或操作的操作,成员是空的。
一个允许你有,这是名称的属性或操作可以访问,或是空的或单个字符“*
”,两者都允许访问任何成员。
对象名称。
你需要一个许可,这是ObjectName
你MBean访问。对于不引用一个MBean操作,它是空的。它从来不是一个对象名称模式。
一个允许你有,这是MBean或者MBeans可以访问ObjectName
。它可以是一个对象的名称模式授予访问名字匹配模式的所有MBeans。它也可能是空的,它允许访问所有MBeans无论它们叫什么名字。
如果你有一个mbeanpermission,它允许操作只有四的项目,所有的比赛。
该类名称、成员和对象名称可以作为一个字符串一起被写入,这是该权限的名称。权限的名称返回的字符串getName()
。字符串的格式是:
className#member[objectName]
对象名称是用通常的语法ObjectName
。它可能包含的任何法律性质,包括]
。它是由一个]
字符是字符串中的最后一个字符终止。
一个或一个以上的className
,member
,或objectName
可以省略。如果member
省略,这#
可能太(不是必须的)。如果objectName
省略,这[]
可能太(不是必须的)。省略所有的三个项目是不合法的,也就是说有一个名字是空的字符串。
一个或一个以上的className
,member
,或objectName
可能字符“-
”,这相当于一个空值。一个空值是由任何值(包括另一个空值)所暗示的,但并不意味着任何其他值。
The possible actions are these:
在一个逗号分隔的操作列表中,每个动作之前和之后都允许空格。
Constructor and Description |
---|
MBeanPermission(String name, String actions)
创造一个新的指定目标的名称和动作mbeanpermission对象。
|
MBeanPermission(String className, String member, ObjectName objectName, String actions)
创造一个新的名字mbeanpermission指定目标对象(类名、成员对象名)和行动。
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object obj)
检查两mbeanpermission对象平等。
|
String |
getActions()
返回操作的“规范字符串表示”。
|
int |
hashCode()
返回此对象的哈希代码值。
|
boolean |
implies(Permission p)
如果这个检查mbeanpermission对象”意味着“指定权限。
|
checkGuard, getName, newPermissionCollection, toString
public MBeanPermission(String name, String actions)
创造一个新的指定目标的名称和动作mbeanpermission对象。
目标名称的形式”className#member[objectName]
”,每一部分都是可选的。它不能是空的或空的。
该操作参数包含授予的目标名称所需的动作的逗号分隔的列表列表。它不能是空的或空的。
name
-三重“类名#成员[对象]”。
actions
-动作字符串。
IllegalArgumentException
-如果
name
或
actions
无效。
public MBeanPermission(String className, String member, ObjectName objectName, String actions)
创造一个新的名字mbeanpermission指定目标对象(类名、成员对象名)和行动。
类名、成员和对象名称参数定义的形式“className#member[objectName]
”其中每一个部分都是可选的目标名称。这将对所得的结果mbeanpermission Permission.getName()
。
该操作参数包含授予的目标名称所需的动作的逗号分隔的列表列表。它不能是空的或空的。
className
-类名称适用许可。可能是无效的或
"-"
,它代表一个由任何类的名字暗示但并不意味着任何其他类别名称类别名称。
member
-成员适用本许可。可能是无效的或
"-"
,它代表一个成员,任何成员暗示,但并不意味着任何其他成员。
objectName
-对象名称适用许可。可以为空,它表示任何对象名称所暗示的对象名称,但并不意味着任何其他对象名称。
actions
-动作字符串。
public String getActions()
getActions
方法重写,继承类
Permission
public int hashCode()
hashCode
方法重写,继承类
Permission
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
public boolean implies(Permission p)
如果这个检查mbeanpermission对象”意味着“指定权限。
更具体地说,这种方法返回真的:
如果这个对象的类名是“*
”,P的类名总是匹配。如果是“a.*
”,P的类名匹配如果开始是“a.
”。
如果这个对象的成员是“*
”,P的成员总是匹配。
如果该对象的对象n1对象名称模式,P的对象如果n1.equals(n2)
N2比赛或者n1.apply(n2)
。
一个权限,包括queryMBeans
行动被认为包括queryNames
以及。
implies
方法重写,继承类
Permission
p
的权限检查。
public boolean equals(Object obj)
equals
方法重写,继承类
Permission
obj
对象--我们为这个对象相等性测试。
Object.hashCode()
,
HashMap
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.