|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.security.Permission | +--java.io.FilePermission
このクラスは、ファイルまたはディレクトリへのアクセスを表します。FilePermission は、パス名およびそのパス名に有効な一連のアクションで構成されます。
パス名は、指定されたアクションが許可されているファイルまたはディレクトリのパス名です。「/*」(「/」はファイル区切り文字 File.separatorChar
) で終わるパス名は、そのディレクトリに格納されているすべてのファイルおよびディレクトリを示します。「/-」で終わるパス名は、そのディレクトリに格納されているすべてのファイルおよびサブディレクトリを (再帰的に) 示します。特別なトークン「<<ALL FILES>>」で構成されるパス名は、どのファイルとも一致します。
注: 1 つの「*」で構成されるパス名は、現在のディレクトリのすべてのファイルを示し、1 つの「-」で構成されるパス名は、現在のディレクトリのすべてのファイル、および (再帰的に) 現在のディレクトリに格納されているすべてのファイルおよびサブディレクトリを示します。
許可されるアクションは、1 つまたは複数のコンマで区切られたキーワードのリストからなる文字列としてコンストラクタに渡されます。指定できるキーワードは、「read」、「write」、「execute」、および「delete」です。これらのキーワードの意味は次のように定義されています。
Runtime.exec
の呼び出しを許可する。SecurityManager.checkExec
に対応
File.delete
の呼び出しを許可する。SecurityManager.checkDelete
に対応
アクション文字列は、処理の前に小文字に変換されます。
FilePermission を許可するときには注意が必要です。さまざまなファイルおよびディレクトリへの読み込みアクセス、および特に書き込みアクセスを許可することによる影響を考えてください。書き込みアクションを持つ「<<ALL FILES>>」アクセス権は特に危険です。これは、ファイルシステム全体への書き込みアクセス権を許可します。事実上、JVM Runtime Environment を含む、システムバイナリの置換さえも許可します。
注: コードは、常にこのコードが格納されているディレクトリ (またはそのサブディレクトリ) 内からファイルを読み込むことができます。そのための明示的なアクセス権は必要ありません。
Permission
,
Permissions
,
PermissionCollection
, 直列化された形式コンストラクタの概要 | |
FilePermission(String path,
String actions)
指定されたアクションを持つ新しい FilePermission オブジェクトを作成します。 |
メソッドの概要 | |
boolean |
equals(Object obj)
2 つの FilePermission オブジェクトが等しいかどうかを判定します。 |
String |
getActions()
アクションの「正規の文字列表現」を返します。 |
int |
hashCode()
このオブジェクトのハッシュコード値を返します。 |
boolean |
implies(Permission p)
この FilePermission オブジェクトに、指定されたアクセス権が含まれているかどうかを判定します。 |
PermissionCollection |
newPermissionCollection()
FilePermission オブジェクトを格納するための新しい PermissionCollection オブジェクトを返します。 |
クラス java.security.Permission から継承したメソッド |
checkGuard, getName, toString |
クラス java.lang.Object から継承したメソッド |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
コンストラクタの詳細 |
public FilePermission(String path, String actions)
「/*」(「/」はファイル区切り文字 File.separatorChar
) で終わるパス名は、ディレクトリおよびそのディレクトリに格納されているすべてのファイルを示します。「/-」で終わるパス名は、ディレクトリおよび (再帰的に) そのディレクトリに格納されているすべてのファイルおよびサブディレクトリを示します。特別なパス名「<<ALL FILES>>」は、すべてのファイルと一致します。
注: 1 つの「*」で構成されるパス名は、現在のディレクトリのすべてのファイルを示し、1 つの「-」で構成されるパス名は、現在のディレクトリのすべてのファイル、および (再帰的に) 現在のディレクトリに格納されているすべてのファイルおよびサブディレクトリを示します。
path
- ファイルまたはディレクトリのパス名actions
- アクション文字列メソッドの詳細 |
public boolean implies(Permission p)
つまり、このメソッドは次の場合に true を返します。
Permission
内の implies
p
- チェック対象のアクセス権public boolean equals(Object obj)
Permission
内の equals
obj
- このオブジェクトと等しいかどうかが判定されるオブジェクトpublic int hashCode()
Permission
内の hashCode
public String getActions()
getActions
の呼び出しは文字列「read,write」を返します。Permission
内の getActions
public PermissionCollection newPermissionCollection()
FilePermission オブジェクトは、任意の順序でコレクションに挿入されるように、さらに PermissionCollection の implies
メソッドが効率的に (および安定して) 実装されるように格納される必要があります。
たとえば、次の 2 つの FilePermission があり、
"/tmp/-", "read"
"/tmp/scratch/foo", "read,write",
そして次の FilePermission で implies
メソッドを呼び出す場合
"/tmp/scratch/foo", "read,write",
implies
関数は、「/tmp/-」および「/tmp/scratch/foo」の両方のアクセス権を考慮しなければならず、そのため、実質的なアクセス権は「read,write」であり、implies
は true を返します。FilePermission の「implies」セマンティクスは、この newPermissionCollection
メソッドによって返される PermissionCollection オブジェクトによって正しく処理されます。Permission
内の newPermissionCollection
|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.