|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
java.lang.Objectjava.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 中的 getActionspublic int hashCode()
Permission 中的 hashCodeObject.equals(java.lang.Object),
Hashtablepublic 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 中的 impliesp - 所要檢查的權限。
public boolean equals(Object obj)
Permission 中的 equalsobj - 要與此物件進行相等性測試的物件。
Object.hashCode(),
Hashtable
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。