|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.security.Permission java.io.FilePermission
public final class FilePermission
このクラスは、ファイルまたはディレクトリへのアクセスを表します。FilePermission は、パス名と、そのパス名に対して有効なアクションの集合からなります。
パス名には、指定したアクションを許可するファイルまたはディレクトリのパス名を指定します。「/*」(「/」はファイル区切り文字 File.separatorChar
) で終わるパス名は、そのディレクトリに含まれるすべてのファイルとディレクトリを表します。「/-」で終わるパス名は、そのディレクトリに含まれるすべてのファイルとサブディレクトリを (再帰的に) 表します。パス名に特殊なトークン「<<ALL FILES>>」を指定した場合は、すべてのファイルに一致します。
注:注: 1 つの「*」で構成されるパス名は、現在のディレクトリのすべてのファイルを示し、1 つの「-」で構成されるパス名は、現在のディレクトリのすべてのファイル、および (再帰的に) 現在のディレクトリに格納されているすべてのファイルおよびサブディレクトリを示します。
許可するアクションは、コンマで区切られた 1 個以上のキーワードのリストを内容とする文字列としてコンストラクタに引き渡されます。指定できるキーワードは、read、write、execute、および delete です。それぞれの意味は、次のように定義されます。
Runtime.exec
を呼び出せるようになる。SecurityManager.checkExec
に対応
File.delete
を呼び出せるようになる。SecurityManager.checkDelete
に対応
アクション文字列は、処理される前に小文字に変換されます。
FilePermission を許可する場合には注意してください。さまざまなファイルやディレクトリへの読み取りアクセス、特に書き込みアクセスを許可するとどうなるかをよく検討してください。write アクションに対して「<<ALL FILES>>」を指定するのは特に危険です。これは、ファイルシステム全体に対する書き込みを許可するということです。このような指定をすると、事実上、JVM 実行環境を含め、システムバイナリを置き換えることが可能になってしまいます。
注 -コードは同一ディレクトリ (またはそのディレクトリのサブディレクトリ) 内のファイルを常に読み取ることができるので、読み取り時のアクセス権を明示する必要はありません。
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
- アクション文字列
IllegalArgumentException
- アクションが null
の場合、空の場合、または指定された有効なアクション以外のアクションを含む場合メソッドの詳細 |
---|
public boolean implies(Permission p)
つまり、このメソッドは次の場合に true を返します。
Permission
内の implies
p
- チェック対象のアクセス権
null
ではなく、このオブジェクトに含まれる場合は true
、そうでない場合は false
public boolean equals(Object obj)
Permission
内の equals
obj
- このオブジェクトと等しいかどうかが判定されるオブジェクト
true
、そうでない場合は false
Object.hashCode()
,
Hashtable
public int hashCode()
Permission
内の hashCode
Object.equals(java.lang.Object)
,
Hashtable
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 Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。