JavaTM 2 Platform
Standard Ed. 6

javax.management
類別 MBeanPermission

java.lang.Object
  繼承者 java.security.Permission
      繼承者 javax.management.MBeanPermission
所有已實作的介面:
Serializable, Guard

public class MBeanPermission
extends Permission

權限控制對 MBeanServer 操作的存取。如果已使用 System.setSecurityManager(java.lang.SecurityManager) 設置了安全管理器,則 MBeanServer 上的多數操作都需要調用者的權限隱含了適用於該操作的 MBeanPermission。MBeanServer 介面的文檔中對此進行了詳細描述。

與其他 Permission 物件一樣,MBeanPermission 可以表示所擁有 的權限,或者是所需要 的權限。當檢查某個敏感操作的權限時,會建構一個表示所需權限的 MBeanPermission。僅在所擁有的權限隱含所需的權限時才允許該操作。

MBeanPermission 套件含四項資訊:

如果擁有 MBeanPermission,則它只允許這四項都比對的操作。

可將類別名、成員和物件名一同寫入單個字元串,這就是此權限的名稱。權限的名稱是 getName() 所返回的字元串。該字元串的格式為:

className#member[objectName]

使用常規的 ObjectName 語法寫物件名稱。它可包含任意合法字元,包括 ]。由字元串中最後一個 ] 字元終止該字元串。

可省略一個或多個 classNamememberobjectName。如果省略的 member,則 # 也可省略(但並非必須如此)。如果省略 objectName,則 [] 也可省略(但並非必須如此)。省略所有三項是不合法的,也就是說只有一個空字元串的名稱 是不合法的。

classNamememberobjectName 中的一個或多個可以是字元 "-",這等同於 null 值。任意值隱含 null 值(包括另一個 null 值),但是 null 值並不隱含任意其他值。

可能的操作有:

在逗號分隔的操作列表中,每個操作的前後允許有空格。

從以下版本開始:
1.5
另請參見:
序列化表格

建構子摘要
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
 

建構子詳細資訊

MBeanPermission

public MBeanPermission(String name,
                       String actions)

創建具有指定目標名稱和操作的新 MBeanPermission 物件。

目標名稱的形式為 "className#member[objectName]",其中每部分都是可選的。不可以為空或 null。

actions 參數包含在目標名稱上所允許的所需操作列表,該列表用逗號分隔。不可以為空或 null。

參數:
name - 三部分的 "className#member[objectName]"。
actions - 操作字元串。
拋出:
IllegalArgumentException - 如果 nameactions 無效。

MBeanPermission

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 - 操作字元串。
方法詳細資訊

getActions

public String getActions()
返回操作的“規範化字元串表示形式”。也就是說,此方法總是以字母順序返回存在的操作:

指定者:
類別 Permission 中的 getActions
返回:
操作的規範化字元串表示形式。

hashCode

public int hashCode()
返回此物件的雜湊碼值。

指定者:
類別 Permission 中的 hashCode
返回:
此物件的雜湊碼值。
另請參見:
Object.equals(java.lang.Object), Hashtable

implies

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 - 所要檢查的權限。
返回:
如果此物件隱含指定的權限,則返回 true;否則返回 false。

equals

public boolean equals(Object obj)
檢查兩個 MBeanPermission 物件的相等性。檢查 obj 是否為一個 MBeanPermission,並且檢查是否和此物件具有相同的名稱和操作。

指定者:
類別 Permission 中的 equals
參數:
obj - 要與此物件進行相等性測試的物件。
返回:
如果 obj 是一個 MBeanPermission,並且與此 MBeanPermission 物件具有相同的名稱和操作,則返回 true。
另請參見:
Object.hashCode(), Hashtable

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only