全パッケージ  クラス階層  このパッケージ  前項目  次項目  インデックス

インタフェース java.security.acl.Acl

public interface Acl
extends Owner
アクセス制御リスト (ACL: Access Control List) を表すインタフェースです。ACL は、リソースに対するアクセスを保護するデータ構造体です。

ACL は、複数の ACL エントリをもつデータ構造体と見なすことができます。interface 型 AclEntry の各 ACL エントリには、特定のプリンシプルに関連するパーミッションのセットが含まれます (プリンシプルとは、個人ユーザやグループなどのエンティティをを表します)。さらに、各 ACL エントリには正または負の符号を付けて指定します。正の場合には、パーミッションが関連するプリンシプルに与えられます。負の場合には、パーミッションは拒絶されます。

各 ACL 中の ACL エントリは以下の規則に従います。

java.security.acl パッケージは ACL と関連のデータ構造体 (ACL エントリ、グループ、パーミッションなど) を提供し、sun.security.acl クラスはインタフェースのデフォルトの実装を提供します。たとえば、java.security.acl.Acl は ACL に対するインタフェースを提供し、sun.security.acl.AclImpl クラスはそのインタフェースのデフォルトの実装を提供します。

java.security.acl.Acl インタフェースは、java.security.acl.Owner インタフェースを拡張したものです。Owner インタフェースは、各 ACL の所有者のリストを維持するために使用します。所有者しか ACL の修正は許されません。たとえば、所有者だけが、ACL の addEntry メソッドを呼び出し、新しい ACL エントリを ACL に追加することができます。

参照:
AclEntry, Owner, getPermissions

Method Index

 o addEntry(Principal, AclEntry)
ACL エントリをこの ACL に追加する。
 o checkPermission(Principal, Permission)
指定のプリンシプルが指定のパーミッションをもっているかどうかをチェックする。
 o entries()
この ACL 中のエントリの列挙を返す。
 o getName()
この ACLの名前を返す。
 o getPermissions(Principal)
指定されたプリンシプル (個人またはグループのようなエンティティを表す) に対して許されているパーミッションのセットに対する列挙を返す。
 o removeEntry(Principal, AclEntry)
この ACLから 1 つの ACL を削除する。
 o setName(Principal, String)
この ACLの名前を設定する。
 o toString()
ACL の内容を文字列表現で返す。

Methods

 o setName
  public abstract void setName(Principal caller,
                               String name) throws NotOwnerException
この ACLの名前を設定します。

パラメータ:
caller - このメソッドを起動するプリンシプル。この ACL の所有者でなければならない。
name - この ACL に与える名前
例外: NotOwnerException
callerプリンシプルがこの ACL の所有者でない場合
 o getName
  public abstract String getName()
この ACLの名前を返します。

返り値:
この ACLの名前
 o addEntry
  public abstract boolean addEntry(Principal caller,
                                   AclEntry entry) throws NotOwnerException
ACLエントリをこの ACL に追加します。 ACLエントリとは、プリンシプル (例: 個人またはグループ) をパーミッションのセットに関連付けるものです。各プリンシプルは、多くても 1 つずつ、正の ACLエントリ (プリンシプルに与えるパーミッションを指定する) と負の ACLエントリ (拒絶するパーミッションを指定する) をもつことしかできません。ACL 中にすでの同じ種類 (正、負) の ACLエントリが存在する場合には、 false が 返ってきます。

パラメータ:
caller - このメソッドを起動するプリンシプル。この ACL の所有者でなければならない。
entry - この ACLに追加する ACLエントリ
返り値:
成功時は true。同じプリンシプルに対して同じ種類 (正、負) の ACLエントリがこの ACLにすでに存在する場合には、false が返る。
例外: NotOwnerException
callerプリンシプルがこの ACL の所有者でない場合
 o removeEntry
  public abstract boolean removeEntry(Principal caller,
                                      AclEntry entry) throws NotOwnerException
この ACLから 1 つの ACL を削除します。

パラメータ:
caller - このメソッドを起動するプリンシプル。この ACL の所有者でなければならない。
entry - この ACLから削除する ACLエントリ
返り値:
成功時 true。エントリがこの ACL の一部でない場合には、falseが返る。
例外: NotOwnerException
callerプリンシプルがこの ACL の所有者でない場合
 o getPermissions
  public abstract Enumeration getPermissions(Principal user)
指定されたプリンシプル (個人またはグループのようなエンティティを表す) に 対して許されているパーミッションのセットに対する列挙を返します。許されるパーミッションのセットは以下のようにして決定されます。

パラメータ:
user - そのパーミッション セットを返すプリンシプル
返り値:
プリンシプルに許されるパーミッションを指定するパーミッション セット
 o entries
  public abstract Enumeration entries()
この ACL 中のエントリの列挙を返します。

返り値:
この ACL中のエントリの列挙
 o checkPermission
  public abstract boolean checkPermission(Principal principal,
                                          Permission permission)
指定されたプリンシプルが指定されたパーミッションをもっているかどうかをチェックします。 もつ場合には、trueが返ってきます。それ以外の場合には、falseが返ります。より特別な場合として、このメソッドは渡されたパーミッションが指定されたプリンシプルに対して許可されるパーミッション セットのメンバであるかどうかをチェックします。この許可されるパーミッションセットは、 getPermissionsメソッドが使用するものと同じアルゴリズムによって決定されます。

パラメータ:
principal - プリンシプル。有効な認証済みのプリンシプルを前提とする。
permission - チェックする対象のパーミッション
返り値:
プリンシプルが指定されたパーミッションをもつ場合には true、それ以外は false が返る。
参照:
getPermissions
 o toString
  public abstract String toString()
ACL の内容を文字列表現で返します。

返り値:
ACL 内容を文字列表現
オーバーライド:
クラス ObjecttoString

全パッケージ  クラス階層  このパッケージ  前項目  次項目  インデックス