|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.security.Permission javax.management.MBeanPermission
public class MBeanPermission
MBeanServer オペレーションのアクセスを制御するアクセス権です。System.setSecurityManager(java.lang.SecurityManager)
でセキュリティマネージャが設定されている場合、MBean サーバ上で何らかのオペレーションを実行するためには、通常、そのオペレーションに適した MBeanPermission が呼び出し元のアクセス権として含まれていなければなりません。詳細については、MBeanServer
インタフェースのマニュアルを参照してください。
その他の Permission
オブジェクトの場合と同様に、MBeanPermission は、ユーザに付与されているアクセス権、またはユーザが必要とするアクセス権を表します。重要なオペレーションを実行する際にはアクセス権のチェックが行われますが、このとき、必要なアクセス権を表す MBeanPermission が構築されます。ユーザに付与されているアクセス権に、ユーザが必要とするアクセス権が含まれている
場合にかぎり、オペレーションは許可されます。
MBeanPermission には、次の 4 項目の情報が含まれます。
アクション
ユーザが必要とするアクセス権の場合、下記のリストのいずれかのアクション。ユーザに付与されているアクセス権の場合、コンマで区切られた形式のアクションリストまたは *
(すべてのアクション)
アクションは getActions()
によって返される
クラス名
ユーザが必要とするアクセス権の場合、ユーザがアクセスしようとしている MBean のクラス名。これは、MBeanServer.getMBeanInfo(name)
.getClassName()
によって返される。クラス名を参照しないオペレーションの場合、クラス名は null
ユーザに付与されているアクセス権の場合、空またはクラス名パターン。クラス名パターンは、ドット区切り形式のクラス名の Java 規約に従った文字列。末尾に「.*
」を指定することにより、「.*
」の前の文字列で始まるすべてのクラスにアクセスが付与される。たとえば、「javax.management.*
」の場合、javax.management.MBeanServerDelegate
クラスと javax.management.timer.Timer
クラスにアクセスが付与される
クラス名パターンとして、空文字列または「*
」を指定することもできる。どちらの場合も、すべてのクラスにアクセスが付与される
メンバ
ユーザが必要とするアクセス権の場合、ユーザがアクセスしようとしている属性またはオペレーションの名前。属性やオペレーションを参照しないオペレーションの場合、メンバは null
ユーザに付与されているアクセス権の場合、ユーザがアクセスできる属性またはオペレーションの名前。空文字列または「*
」が指定された場合、すべてのメンバにアクセスが付与される
オブジェクト名
ユーザが必要とするアクセス権の場合、ユーザがアクセスしようとしている MBean の ObjectName
。単一の MBean を参照しないオペレーションの場合、null。オブジェクト名パターンには当てはまらない
ユーザに付与されているアクセス権の場合、ユーザがアクセスできる MBean (複数可) の ObjectName
。オブジェクト名パターンを指定した場合、パターンに一致する名前を持つすべての MBean にアクセスが付与される。空文字列を指定した場合、名前には関係なくすべての MBean にアクセスが付与される
MBeanPermission を付与されている場合は、この 4 項目すべてが満たされた場合にのみオペレーションが許可されます。
クラス名、メンバ、オブジェクト名は、単一の文字列として同時に書き込めます。この文字列が、このアクセス権の名前になります。アクセス権の名前は、getName()
によって返される文字列です。文字列の形式は次のとおりです。
className#member[objectName]
オブジェクト名は、ObjectName
の通常構文によって書き込まれます。オブジェクト名には、]
を含む有効な文字を含めることができます。文字列の末尾の文字は ]
です。
className
、member
、objectName
は省略可能です。member
が省略された場合、#
も省略されます (ただし必ずしも省略されるとはかぎらない)。objectName
が省略された場合、[]
も省略されます (ただし必ずしも省略されるとはかぎらない)。これら 3 つの項目全部を省略することはできません。つまり、name を空文字列にすることはできません。
className
、member
、objectName
には、null 値を表す文字「-
」を指定できます。null 値はすべての値 (別の null 値を含む) に含まれますが、その他の値を含むことはありません。
コンマで区切られた形式のアクションリストでは、各アクションの前後にスペースを挿入できます。
コンストラクタの概要 | |
---|---|
MBeanPermission(String name,
String actions)
指定されたターゲット名およびアクションを持つ新しい MBeanPermission オブジェクトを作成します。 |
|
MBeanPermission(String className,
String member,
ObjectName objectName,
String actions)
指定されたターゲット名 (クラス名、メンバ、オブジェクト名) およびアクションを持つ新しい MBeanPermission オブジェクトを作成します。 |
メソッドの概要 | |
---|---|
boolean |
equals(Object obj)
2 つの 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 は指定できません。
アクションパラメータには、ターゲット名に対して付与された必要なアクションのリスト (コンマ区切り形式) が含まれます。空文字列や null は指定できません。
name
- トリプレット className#member[objectName]actions
- アクションの文字列
IllegalArgumentException
- name
または actions
が無効な場合public MBeanPermission(String className, String member, ObjectName objectName, String actions)
指定されたターゲット名 (クラス名、メンバ、オブジェクト名) およびアクションを持つ新しい MBeanPermission オブジェクトを作成します。
クラス名、メンバ、およびオブジェクト名のパラメータにより、className#member[objectName]
の形式のターゲット名が定義されます (各部分は任意)。作成された MBeanPermission 上で Permission.getName()
を実行すると、この名前が出力されます。
アクションパラメータには、ターゲット名に対して付与された必要なアクションのリスト (コンマ区切り形式) が含まれます。空文字列や 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.
で始まるならば、これに一致します。
このオブジェクトのメンバが *
の場合、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. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。