|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.security.Permission javax.management.MBeanPermission
public class MBeanPermission
權限控制對 MBeanServer 操作的存取。如果已使用 System.setSecurityManager(java.lang.SecurityManager)
設置了安全管理器,則 MBeanServer 上的多數操作都需要調用者的權限隱含了適用於該操作的 MBeanPermission。MBeanServer
介面的文檔中對此進行了詳細描述。
與其他 Permission
物件一樣,MBeanPermission 可以表示所擁有 的權限,或者是所需要 的權限。當檢查某個敏感操作的權限時,會建構一個表示所需權限的 MBeanPermission。僅在所擁有的權限隱含
所需的權限時才允許該操作。
MBeanPermission 套件含四項資訊:
操作。對於所需的權限,這是下面列表中的某種操作。對於所擁有的權限,則是這些操作的列表,各項以逗號分隔,或者是 *
,表示所有操作。
通過 getActions()
返回操作。
類別名。
對於所需的權限,這是正在存取的 MBean 的類別名,正如 MBeanServer.getMBeanInfo(name)
和 getClassName()
所返回的一樣。某些操作不參考類別名,在這種情況下類別名為 null。
對於所擁有的權限,這是空或一個類別名網要。類別名網要是一個服從 Java 對點分類別名約定的 string。該網要可以以 ".*
" 結尾,意味著該權限允許對名稱以 ".*
" 前面的字元串開始的類別的存取。例如,"javax.management.*
" 允許對其他類別中的 javax.management.MBeanServerDelegate
和 javax.management.timer.Timer
進行存取。
類別名網要也可以為空,或者只有單個字元 "*
",這兩種情況都允許對任何類別的存取。
成員。
對於所需的權限,這是正在存取的屬性或操作名。對於沒有參考屬性或操作的操作,該成員為 null。
對於所擁有的權限,這要麼是可以存取的屬性或操作名,要麼是空或單個字元 "*
",後面這兩種情況都允許對任意成員的存取。
物件名。
對於所需的權限,這是正在存取的 MBean 的 ObjectName
。對於不參考單個 MBean 的操作而言,物件名為 null。它永遠不會是物件名網要。
對於所擁有的權限,這是可存取的 MBean 或 MBeans 的 ObjectName
。可以是一個物件名網要,以允許存取其名稱比對該網要的所有 MBean。還可以為空,這樣可存取所有 MBean 而不管其名稱是什麼。
如果擁有 MBeanPermission,則它只允許這四項都比對的操作。
可將類別名、成員和物件名一同寫入單個字元串,這就是此權限的名稱。權限的名稱是 getName()
所返回的字元串。該字元串的格式為:
className#member[objectName]
使用常規的 ObjectName
語法寫物件名稱。它可包含任意合法字元,包括 ]
。由字元串中最後一個 ]
字元終止該字元串。
可省略一個或多個 className
、member
或 objectName
。如果省略的 member
,則 #
也可省略(但並非必須如此)。如果省略 objectName
,則 []
也可省略(但並非必須如此)。省略所有三項是不合法的,也就是說只有一個空字元串的名稱 是不合法的。
className
、member
或 objectName
中的一個或多個可以是字元 "-
",這等同於 null 值。任意值隱含 null 值(包括另一個 null 值),但是 null 值並不隱含任意其他值。
在逗號分隔的操作列表中,每個操作的前後允許有空格。
建構子摘要 | |
---|---|
MBeanPermission(String name,
String actions)
創建具有指定目標名稱和操作的新 MBeanPermission 物件。 |
|
MBeanPermission(String className,
String member,
ObjectName objectName,
String actions)
創建具有指定目標名稱(類別名、成員、物件名)和操作的 MBeanPermission 物件。 |
方法摘要 | |
---|---|
boolean |
equals(Object obj)
檢查兩個 MBeanPermission 物件的相等性。 |
String |
getActions()
返回操作的“規範化字元串表示形式”。 |
int |
hashCode()
返回此物件的雜湊碼值。 |
boolean |
implies(Permission p)
檢查此 MBeanPermission 物件是否“隱含”指定的權限。 |
從類別 java.security.Permission 繼承的方法 |
---|
checkGuard, getName, newPermissionCollection, toString |
從類別 java.lang.Object 繼承的方法 |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
建構子詳細資訊 |
---|
public MBeanPermission(String name, String actions)
創建具有指定目標名稱和操作的新 MBeanPermission 物件。
目標名稱的形式為 "className#member[objectName]
",其中每部分都是可選的。不可以為空或 null。
actions 參數包含在目標名稱上所允許的所需操作列表,該列表用逗號分隔。不可以為空或 null。
name
- 三部分的 "className#member[objectName]"。actions
- 操作字元串。
IllegalArgumentException
- 如果 name
或 actions
無效。public MBeanPermission(String className, String member, ObjectName objectName, String actions)
創建具有指定目標名稱(類別名、成員、物件名)和操作的 MBeanPermission 物件。
className、member、objectName 參數定義了 "className#member[objectName]
" 形式的目標名稱,其中每個部分都是可選的。這將是在結果 MBeanPermission 上調用 Permission.getName()
得到的結果。
actions 參數包含在目標名稱上所允許的所需操作列表,該列表用逗號分隔。不可以為空或 null。
className
- 應用此權限的類別名。可以為 null 或 "-"
,這表示一個由任何類別名所隱含的類別名,但是並不隱含任意其他類別名。member
- 應用此權限的成員。可以為 null 或 "-"
,這表示一個由任何成員所隱含的成員,但是並不隱含任意其他成員。objectName
- 應用此權限的物件名。可以為 null,這表示一個由任何物件名所隱含的物件名,但是並不隱含任意其他物件名。actions
- 操作字元串。方法詳細資訊 |
---|
public String getActions()
Permission
中的 getActions
public int hashCode()
Permission
中的 hashCode
Object.equals(java.lang.Object)
,
Hashtable
public boolean implies(Permission p)
檢查此 MBeanPermission 物件是否“隱含”指定的權限。
更明確地說,如果此方法滿足以下條件,則返回 true:
如果此物件的 className 是 "*
",則 p 的 className 始終與其相符。如果是 "a.*
",則 p 的 className 與開頭是 "a.
" 的 className 相符。
如果此物件的成員是 "*
",則 p 的成員始終與其相符。
如果此物件的 objectName n1 是一個物件名網要,則在 n1.equals(n2)
或者 n1.apply(n2)
的情況下,p 的 objectName n2 與其相符。
將包括 queryMBeans
操作的權限視為還包括 queryNames
。
Permission
中的 implies
p
- 所要檢查的權限。
public boolean equals(Object obj)
Permission
中的 equals
obj
- 要與此物件進行相等性測試的物件。
Object.hashCode()
,
Hashtable
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。