public interface Acl extends Owner
ACL は、複数の ACL 項目を持つデータ構造体だと考えることができます。それぞれの 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 に追加することができるのは所有者だけです。
修飾子と型 | メソッドと説明 |
---|---|
boolean |
addEntry(Principal caller, AclEntry entry)
ACL エントリをこの ACL に追加します。
|
boolean |
checkPermission(Principal principal, Permission permission)
指定された主体が指定されたアクセス権を持っているかどうかを判定します。
|
Enumeration<AclEntry> |
entries()
この ACL 内のエントリの列挙を返します。
|
String |
getName()
この ACL の名前を返します。
|
Enumeration<Permission> |
getPermissions(Principal user)
指定された主体 (個人またはグループなどのエンティティーを表す) に対して許可されたアクセス権のセットに対する列挙を返します。
|
boolean |
removeEntry(Principal caller, AclEntry entry)
この ACL から 1 つの ACL を削除します。
|
void |
setName(Principal caller, String name)
ACL エントリをこの ACL に追加します。
|
String |
toString()
ACL の内容を文字列表現で返します。
|
addOwner, deleteOwner, isOwner
void setName(Principal caller, String name) throws NotOwnerException
caller
- このメソッドを起動する主体。この ACL の所有者になっている必要がある。name
-この ACL に与える名前。NotOwnerException
- 呼び出す主体がこの ACL の所有者でない場合。getName()
String getName()
setName(java.security.Principal, java.lang.String)
boolean addEntry(Principal caller, AclEntry entry) throws NotOwnerException
caller
- このメソッドを起動する主体。この ACL の所有者になっている必要がある。entry
- この ACL に追加される ACL エントリ。NotOwnerException
- 呼び出す主体がこの ACL の所有者でない場合。boolean removeEntry(Principal caller, AclEntry entry) throws NotOwnerException
caller
- このメソッドを起動する主体。この ACL の所有者になっている必要がある。entry
- この ACL から削除する ACL エントリ。NotOwnerException
- 呼び出す主体がこの ACL の所有者でない場合。Enumeration<Permission> getPermissions(Principal user)
個人の正と負のアクセス権セットも決定される。正のアクセス権セットには、その主体に対する正の ACL エントリで (存在する場合) 指定されているアクセス権が含まれる。同様に、負のアクセス権セットには、その主体に対する負の ACL エントリで (存在する場合) 指定されているアクセス権が含まれる。個人の正 (または負) のアクセス権セットは、この ACL 内に正 (または負) の ACL エントリが存在しない場合は null と見なされる。
このあと、主体に与えられるアクセス権のセットが、個人のアクセス権をグループのアクセス権よりも常に優先するという単純な規則を使用して決定される。すなわち、主体の個人の負のアクセス権セット (あるアクセス権の拒否) はグループの正のアクセス権セットに優先し、主体の個人の正のアクセス権セットはグループの負のアクセス権セットに優先する。
user
- そのアクセス権セットを返す主体。Enumeration<AclEntry> entries()
boolean checkPermission(Principal principal, Permission permission)
getPermissions
メソッドと同じアルゴリズムに基づいて決定されます。principal
- 主体。有効な認証済みの主体を前提とする。permission
- 判定対象のアクセス権。getPermissions(java.security.Principal)
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.